SPARK Ada
Hacker ApprovedThe most recommended of 4 verification languages
A formally verifiable Ada language whose compiler proves absence of runtime errors and correctness, recommended for safety-critical code; the common caveats are higher development cost and heavy proof ceremony.
A formally verifiable Ada language whose compiler proves absence of runtime errors and correctness, recommended for safety-critical code; the common caveats are higher development cost and heavy proof ceremony.
84 people gave an opinion
- recommend it
- 63
- criticize it
- 21
- approval share
- 75%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it carries the badge
- 63 people recommend itNeeds 10 or more, met.
- 3 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Proves absence of runtime errors
“SPARK provides machine-checked formal verification that proves absence of runtime errors, bounds violations, and functional correctness at compile time”
Comment from 15 Nov 2025 in “Rust Is Memory Safe, but Logic Bugs Still Occur - SPARK Ada Can Help” “You can completely eliminate use-after-free, double-free, dangling pointers, memory leaks, and null dereferences.”
Comment from 31 Dec 2025 in “Rex is a safe kernel extension framework that allows Rust in the place of eBPF” “Embedding proofs into the code that prove absence of runtime errors lets the bot know what your actual intent is”
Comment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering” - Comment from 14 Jun 2026 in “Formal Methods and the Future of Programming”
- Comment from 24 Aug 2026 in “Show HN: A Modern GUI Library for Ada: CSS Styling, XML UI, SDL3”
Memory safety without garbage collection
“You can completely eliminate use-after-free, double-free, dangling pointers, memory leaks, and null dereferences.”
Comment from 31 Dec 2025 in “Rex is a safe kernel extension framework that allows Rust in the place of eBPF” “memory safety is very strong, formally provable. Has no GC. Excellent performance. Very mature.”
Comment from 20 Sep 2026 in “What Zig felt like, coming from Rust” “Ada and SPARK fulfilled the promise of a safe systems language decades ago”
Comment from 1 Nov 2025 in “Hard Rust requirements from May onward” Preferred over Rust for safety
“it would be more prudent to let the LLM generate Ada/SPARK because it can formalize and prove a wider scope than Rust”
Comment from 13 Feb 2026 in “Ask HN: Programming Languages Research in 2026” “We passed on Rust for Ada/SPARK2014 to write to bare metal on Cortex-M processor”
Comment from 3 May 2026 in “Embedded Rust or C Firmware? Lessons from an Industrial Microcontroller Use Case” “we need to switch to Ada/SPARK or some other type of formally verifiable system”
Comment from 11 Mar 2026 in “Debian decides not to decide on AI-generated contributions” - Comment from 10 Dec 2025 in “Rust in the kernel is no longer experimental”
- Comment from 7 Mar 2026 in “Ada 2022”
- Comment from 24 Aug 2026 in “LLMs could control their host machines by exploiting inference engines”
Proven in aerospace and high-assurance systems
“Ada/SPARK has the strongest verification story and decades of space heritage, but the development cost is higher.”
Comment from 15 May 2026 in “O(x)Caml in Space” “I'd rather fly in an airplane with a system coded in Ada/Spark rather than Python”
Comment from 6 Mar 2026 in “Ada 2022” “Ada/SPARK have been on huge, high-assurance, high-safety applications for decades”
Comment from 8 Sep 2026 in “C*: Unifying Programming and Verification in C (2025)” - Comment from 7 Dec 2025 in “The C++ standard for the F-35 Fighter Jet [video]”
- Comment from 7 Mar 2026 in “Ada 2022”
What people warn about
Each mark is one comment
Hard to scale to large projects
“Doesn't that make it extremely difficult to use for larger projects?”
Comment from 22 Nov 2025 in “The Lions Operating System” “Ada with SPARK is very difficult to scale to larger projects”
Comment from 23 Nov 2025 in “The worst programming language of all time [video]” Heavy ceremony and proof overhead
“after using Spark for a long time, I think for most workloads, it's just not really needed any more. Too complex, too difficult to tune.”
Comment from 21 Oct 2026 in “DuckDB 2.0.0 LTS “Cinnamon Teal”” “My initial enthusiasm for the idea of Ada and Spark evaporated when I saw how much ceremony the code required.”
Comment from 17 Dec 2025 in “AI will make formal verification go mainstream” “before you know it, your program is filled with proof statements”
Comment from 5 Jan 2026 in “Xr0 verifier, guarantee the safety of C programs at compile time”
Other verification languages people recommend
The three most recommended other verification languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 4 verification languages, rankedWhat people said
40 of the 110 comments that mention it, newest first. Each links to the original comment.
“if security was taken as seriously as in any other industry then all of the above languages would have been written in SPARK”
“after using Spark for a long time, I think for most workloads, it's just not really needed any more. Too complex, too difficult to tune.”
“tools like Ark and Spark that make having access to the Lightning network something that the average person can muster”
“memory safety is very strong, formally provable. Has no GC. Excellent performance. Very mature.”
“The latter is mature and used in some parts of the software industry today.”
“or is integrated with specific programming languages like SPARK, Frama-C or this Verus”
“via static enforcement via Spark and compilers were able to optimize them nicely”
“Ada/SPARK have been on huge, high-assurance, high-safety applications for decades”
“Just rewrite the engines in Rust and SPARK Ada running on seL4.”
“a very interesting language, that can prove program correctness at compile time”
“Embedding proofs into the code that prove absence of runtime errors lets the bot know what your actual intent is”
“the only industrial strength, actually practical and pleasant to use formal verification language: SPARK”
“a SPARK Ada or other implementation that shows no code injections could ever happen from loading, modifying, or rendering text”
“The syntax is Pascal-like, which some people used to C-family languages dislike but I personally find nice.”
“you can actually embed a proof in the code so that you actually know that the code is correct”
“Ada/SPARK has the strongest verification story and decades of space heritage, but the development cost is higher.”
“We passed on Rust for Ada/SPARK2014 to write to bare metal on Cortex-M processor”
“They seem to ignore the existance of Spark, so even if you specifically want to use JVM it feels clearer and simpler”
“we need to switch to Ada/SPARK or some other type of formally verifiable system”
“NVidia rather use Ada/SPARK instead of Rust for their automotive systems”
“features which I wish mainstream languages would have, particularly regarding the formal verification utilities of SPARK”
“I'd rather fly in an airplane with a system coded in Ada/Spark rather than Python”
“it is still in development and more robust than the C/C++ (and likely Rust) toolchain”
“it would be more prudent to let the LLM generate Ada/SPARK because it can formalize and prove a wider scope than Rust”
“Spark's a pretty good renderer for it after you've generated the gaussian splats.”
“It turns any device into a deployment target without needing Kubernetes or heavy runtimes.”
“before you know it, your program is filled with proof statements”
“You can completely eliminate use-after-free, double-free, dangling pointers, memory leaks, and null dereferences.”
“My initial enthusiasm for the idea of Ada and Spark evaporated when I saw how much ceremony the code required.”
“Ada/Spark is for me ahead of Rust both in term of features and user experience”
“Ada and especially Spark makes it a whole lot easier to produce correct software.”
“Ada is having a bit of a resurgence with stuff like NVidia picking SPARK”
“if you want to produce auditable high-integrity, high-assurance, mission-critical software, you should be looking at SPARK/Ada”
“Ada with SPARK is very difficult to scale to larger projects”
“SPARK can be used incrementally, proving lower level or critical parts first.”
“Doesn't that make it extremely difficult to use for larger projects?”
“it has such a neat type system, pre- and post-conditions, formal verification”
“SPARK provides machine-checked formal verification that proves absence of runtime errors, bounds violations, and functional correctness at compile time”
“if you want even safer, high-integrity, and formally verified code on Android!”
“Ada and SPARK fulfilled the promise of a safe systems language decades ago”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.