Post #1650311
2026-04-17 17:06 UTC
@whyrl
Except, of course, the probably most famous example in the Arien 5 (flight v88). Although the root cause was re-use of an inappropriate subroutine and improper exception handling (the 5 had more thrust than the 4 resulting in an overflow), ADAs behavior in debug output contributed. The specific module exception was not handled, allowing the exception to propagate up to the default handler, which outputted debugging data, which was interpreted as control data to the engine gimbles causing it to veer highly off course.
That being said, the use of ADA facilitated the post-mortum analysis allowing us to know with pretty high certainty that this is what happened.
@bsdphk
Replies (2)
-
@DesChips@mamot.fr 2026-04-17 18:49
@pfriedma @bsdphk @whyrl and Ariane 5 proceeded to be one of the most reliable launcher in history. And Ariane 6, still built on Ada, is following the same path.
-
@JamesWidman@mastodon.social 2026-04-17 23:30
@pfriedma @bsdphk @whyrl I was thinking it might be nice to use a language with Ada's checking features, but i don't know if i can stomach the C++-like exception semantics. The problem has always been that it completely destroys everyone's ability to reason about control flow. It's kinda glaring for a language that otherwise emphasizes the importance of provable correctness. (Contrast with modern languages like Swift, where you're forced to annotate call sites that can possibly throw.)