Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

81–90 of 203 posts

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#81
post #7
post #6

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

That’s a bit old, though. Anyone can use GNAT now, and there are newer versions of the language. Even the discussion is dated: Ada 2012 is more widespread and there have been developments in SPARK.

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#82
post #40
post #6

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…

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.

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#83
I'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 really ought to be the "next" system programming language instead of Rust.

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#84

Does 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.

It's apparently derived from Oracle's PL/SQL, which as mentioned somewhere else in the comments is directly using bits of Ada compiler technology.

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#85

Airbus 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.

The language used is less important than the development process as a whole, including static analysis tool used to verify the code.

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

#86
post #52

Earlier 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…

It should be noted that even when Kernighan wrote that, with the exception of the stylistic bits (e.g. where you put the semicolon), most of the issues he has didn't exist in the Pascal dialects that people used. His comments were about standard Pascal but few really confined themselves to standard Pascal - even the standard itself didn't do that, IIRC it explicitly mentions that implementations are going to extend it as that was an expectation at the time. In general Wirth's languages weren't meant to be taken as a gospel but as a base to expand from (even his own Oberon system slightly extends the language described by his Oberon language report).

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#87
post #40

Earlier 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.

The session that they did together with AdaCore presenting which languages they went through and why they picked Ada in the end.

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

#88

I'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…

In 1983, although Concurrent Pascal, Modula-2 and plenty of others did it already during the 70's.

Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

#89
post #58

Pascal < modula < ada

Only the first ISO Pascal, ISO Extended Pascal is more in line with Modula-2.

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

#90

Does 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.

I've seen two huge webpages built with PL/PgSQL and I've never after or before seen anything that would come close in terms of functionality, speed, stability, flexibility and safety.
Post reply on HN