Live data from Hacker News

Why Ada Is the Language You Want to Be Programming Your Systems With

hackaday.com

41–50 of 330 posts

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#41

If you've done VHDL, you'll be familiar with Ada's syntax. When the DoD commissioned the design of VHDL, they required that its syntax be based on Ada. https://en.wikipedia.org/wiki/VHDL#History

TIL VHDL was commisioned by the DoD. Also random note, but wouldn't most engineers familiar with HDL's be electronic engineers rather than software developers?

There are a decent chunk of EEs/CpEs doing work that bridges hardware and software. For example, they might be writing VHDL or Verilog for an FPGA and also writing C/C++ for the microcontroller that interfaces with it.

Also, there are lots of professional software developers who studied Electrical Engineering or Computer Engineering in college. Many schools historically had all their CS classes and faculty within their EE department.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#43
post #32

> Ada code controls rockets like the Ariane 4 and 5, many satellites, and countless other systems where small glitches can have major consequences. A somewhat amusing endorsement given that the infamous failure of the maiden launch of the Ariane 5 due to series of interconnected software bugs - a reminder perhaps that the choice of implementation language does not automatically make for a reliable system.

Amusing but only superficially a counterexample because the bug was basically in a specification-implementation mismatch. Nothing in the language can catch that.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#44
post #17

Earlier quoted context omitted.

Languages with the kind of constraints (sometimes kicked up to 11) that inspired the term “bondage and discipline languages” [0] have come back into vogue in a big way since the heyday of the Jargon File, and are in many cases the new “languages of choice” [1]. [0] http://catb.org/~esr/jargon/html/B/bondage-and-discipline-la... [1] http://catb.org/~esr/jargon/html/L/languages-of-choice.html

I remember reading the first entry many years ago and wondering why anyone would want to use a language with type enforcement when you could have duck typing. (I thought of types as something that had been enforced by the lack of expressive power of old languages in which the types were effectively closer to the machine -- like describing the size of a machine word or something.) Later on I experienced the famous fea…

My limited experience with dynamic languages vs the more persnickety typed languages is with the former you really really really need unit testing. I found the more type enforcement the less bugs of the sort unit tests catch. I wonder what programmers of that era would have thought is their introduction to dynamic languages was in an environment heavy on TDD and unit tests. Likely not so fond.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#45
post #32

> Ada code controls rockets like the Ariane 4 and 5, many satellites, and countless other systems where small glitches can have major consequences. A somewhat amusing endorsement given that the infamous failure of the maiden launch of the Ariane 5 due to series of interconnected software bugs - a reminder perhaps that the choice of implementation language does not automatically make for a reliable system.

105 launches, 2 failures, 3 partial failures. That's a 95,2% success rate.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#47
post #32

> Ada code controls rockets like the Ariane 4 and 5, many satellites, and countless other systems where small glitches can have major consequences. A somewhat amusing endorsement given that the infamous failure of the maiden launch of the Ariane 5 due to series of interconnected software bugs - a reminder perhaps that the choice of implementation language does not automatically make for a reliable system.

Amusing but only superficially a counterexample because the bug was basically in a specification-implementation mismatch. Nothing in the language can catch that.

[deleted]

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#48

First, this is a great introduction article to Ada. It's a great history lesson, and analysis of where it's used and why. That said, it seems to be arguing for something in a vacuum. Where is the mention of other new programming languages that also fit this category? Where is the mention of Rust? Rust fits all the same requirements: - A general, flexible design that adapts to satisfy the needs of embedded computer ap…

Rust cannot be used in most professional use cases where Ada programs can be deployed because the Rust toolchain isn't a qualified one for any of the various IEC 61508 derived qualification regimes. Which is a shame, because Rust is a great fit for these use cases. Though there are a lot of ecosystem shaped things that present practical challenges too: things that should/could be in no_std but unnecessarily depend on…

> There's a group in Germany (I think) that proposed attempting to qualify Rust to get it approved for inclusion in the list of 61508 languages, but that proposal did not seem to be met with much enthusiasm.

https://ferrous-systems.com/blog/sealed-rust-the-pitch/

There's still a lot of interest; this stuff doesn't happen quickly.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#49
post #29

First, this is a great introduction article to Ada. It's a great history lesson, and analysis of where it's used and why. That said, it seems to be arguing for something in a vacuum. Where is the mention of other new programming languages that also fit this category? Where is the mention of Rust? Rust fits all the same requirements: - A general, flexible design that adapts to satisfy the needs of embedded computer ap…

> Where is the mention of other new programming languages that also fit this category? Where is the mention of Rust? The article is about Ada. If you want to read about Rust, go read about Rust.

That's not really the point I was making. Ada has been around since the 70's and at that time, was possibly the correct choice to make given the criteria. The question I asked at the end, and the title of this article, is why would I pick Ada today?

The best reason I've seen is because it's already passed the hurdles in some industries as being a compliant language for their needs. That might be a good enough reason for some, but it's not one that's important to me.

Re: Why Ada Is the Language You Want to Be Programming Your Systems With

#50
post #32

> Ada code controls rockets like the Ariane 4 and 5, many satellites, and countless other systems where small glitches can have major consequences. A somewhat amusing endorsement given that the infamous failure of the maiden launch of the Ariane 5 due to series of interconnected software bugs - a reminder perhaps that the choice of implementation language does not automatically make for a reliable system.

Here’s a report on the Ariane 5 incident https://zoo.cs.yale.edu/classes/cs422/2010/bib/lions96ariane...
Post reply on HN