Not an expert in ADA, but after playing around with it for a while, I don't know why this language doesn't get more praise. It seems to solve a lot of the memory problems Rust solves, albeit in a different way. Its first-class arrays and strong type system seem to go a long way into not having to deal with pointers often, for example. These "features" today would likely be considered part of "a better C", except that…
Why Ada Isn’t Popular: https://news.ycombinator.com/item?id=7824570
Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
81–90 of 203 posts
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#82Not an expert in ADA, but after playing around with it for a while, I don't know why this language doesn't get more praise. It seems to solve a lot of the memory problems Rust solves, albeit in a different way. Its first-class arrays and strong type system seem to go a long way into not having to deal with pointers often, for example. These "features" today would likely be considered part of "a better C", except that…
NVidia is also using it, in fact they decided against Rust when evaluating which language to adopt for their "Safe Autonomous Driving" project. https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto...
Ada is certified by ISO for being used in automotive control systems. Rust isn't.
So I'm not sure how Rust could have even been an option. AFAIK, the options are Ada, MISRA C, and certain Forth flavors. That's it. I'd take Ada over these alternatives every day.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#83This is actually quite intriguing: a language that includes the concept of tasks at the language level, rather than trying to hammer in a bunch of macros or somesuch into C to achieve a similar result.
It makes you wonder if Ada really ought to be the "next" system programming language instead of Rust.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#84Does anyone use Ada for general purpose programming, like for where one might otherwise use Python, Go, nodejs, or something like that? Is it used for any low-reliability areas?
I understand that pl/pgsql, the sql function language of Postgres, is based on Ada. I quite like it.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#85Airbus seems to use ADA mainly for drone software. Everything else is MISRA C, or MISRA C with a layer of abstraction overlaid that allows for generation of assembly from the same codebase as well.
I believe Airbus uses Astree (abstract interpretation static analysis) verified MISRA C. It's really good tool. https://www.absint.com/astree/index.htm
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#86Earlier quoted context omitted.
Honestly, I wonder why Pascal doesn't dominate, too. Safer than C while still just as powerful, "teaching language" (easy to learn) but used for serious software (as you note, Apple used it for system programming). FPC is amazingly feature rich.
Kernighan wrote about the limitations of Pascal in "Why Pascal Is Not My Favorite Programming Language": https://www.lysator.liu.se/c/bwk-on-pascal.html Note, however, that he wrote this in 1981; these days, when someone speaks of Pascal, they usually speak of a dialect based on Turbo or Object Pascal, which appeared in 1983 at the earliest and address many of Kernighan's concerns. tl;dr the Pascal of the 1970s was a…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#87Earlier quoted context omitted.
NVidia is also using it, in fact they decided against Rust when evaluating which language to adopt for their "Safe Autonomous Driving" project. https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto...
Where do they mention that they decided against Rust ? Ada is certified by ISO for being used in automotive control systems. Rust isn't. So I'm not sure how Rust could have even been an option. AFAIK, the options are Ada, MISRA C, and certain Forth flavors. That's it. I'd take Ada over these alternatives every day.
Rust syntax was one of the factors that played against it.
"Securing the Future of Safety and Security of Embedded Software"
https://www.adacore.com/webinars/securing-future-of-embedded...
Page 35,
https://www.slideshare.net/AdaCore/securing-the-future-of-sa...
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#88I've never written in Ada, but I did come across m2os the other day: an Ada-based system for Arduino Uno microcontroller (and a couple of others) that features a simple scheduling policy. This is actually quite intriguing: a language that includes the concept of tasks at the language level, rather than trying to hammer in a bunch of macros or somesuch into C to achieve a similar result. It makes you wonder if Ada rea…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#89Pascal < modula < ada
There there are all the offsprings from UCSD Pascal and Object Pascal, and same applies to Modula, with Modula-2+ and Modula-3.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#90Does anyone use Ada for general purpose programming, like for where one might otherwise use Python, Go, nodejs, or something like that? Is it used for any low-reliability areas?
I understand that pl/pgsql, the sql function language of Postgres, is based on Ada. I quite like it.