Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

31–40 of 203 posts

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

#31
post #28
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…

It requires a license to use GNAT for commercial projects, it's not free like many C/C++ tools.

GCC only started to matter after UNIX vendors stop offering their SDKs for free actually.

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

#32
post #11
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 is ADA not adopted more broadly? I would argue that Ada suffered because IDEs weren't a common thing when it had its heyday. For example, Ada (and VHDL which took after it) is really verbose and a single change to a declaration can ripple all over the place. "Refactoring" is no big deal today. IDEs chop through it really easily. Back in 1990, on the other hand, you wanted to strangle a language that made you ri…

My first IDE was Turbo Basic in 1989.

Changing from

Type Domain is 0..255; to Domain is 0..65535;

Is quite easy.

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

#33
post #26
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 is ADA not adopted more broadly? Productivity, and the general labour intensity. Formal verification is not critical for the lion share of all software, and people obviously would like to save man hours by not dealing with it. Second is the availability of developers. Not many people even now what formal verification actually is, let alone see rationale for learning verification driven development.

You can use ADA without the Formal verification part. I would say at least for embedded systems it's more productive than C because it has a much stronger and expressive type system. E.g. if you do a lot of fixed-point math, ADA's type system can express it. ADA has proper arrays, with bounds checks. ADA has built-in multithreading.

ADA is a very productive language for embedded systems, much more so than C. But people are afraid of the language, because they think it's difficult. People don't want to learn it because they think it's old, although ADA 2012 is a much more modern language than C11, it hasn't stagnated as much, but it also evolved more deliberately than C++, keeping it's focus on useful features, instead of adding all the features. At the same time it makes a lot of things easier in an embedded context, because it was designed exactly for this use-case.

The only issues are the lack of developers and the ugly syntax, but I think any C developer could learn what they need to be productive in a month, and the syntax you can get used to.

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

#34
post #28
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…

It requires a license to use GNAT for commercial projects, it's not free like many C/C++ tools.

FSF GNAT (from your distribution) can be freely used. The GNAT that makes output GPL is the GPL GNAT edition downloaded from AdaCore's website.

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

#35
post #26
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 is ADA not adopted more broadly? Productivity, and the general labour intensity. Formal verification is not critical for the lion share of all software, and people obviously would like to save man hours by not dealing with it. Second is the availability of developers. Not many people even now what formal verification actually is, let alone see rationale for learning verification driven development.

I fully agree with your second point. But, having worked in Ada during 6 years, the productivity is around the same as C++, perhaps slightly better than C++. The productivity is only reduced when writing very short programs.

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

#36
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…

Ada, not ADA. It’s named after Ada Lovelace, not an abbreviation.

I thought it was both. But I never bothered to ask what it abbreviates.

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

#37
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…

Ada, not ADA. It’s named after Ada Lovelace, not an abbreviation.

You are right, but it could be both.

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

#38
post #21

Earlier quoted context omitted.

I did Ada at Uni. I think it's an ok language but its Pascal roots show. In an alternate universe where Pascal won instead of C (which it nearly did!) it might have ended up where C++ is. Pascal being the choice for Systems programming instead of C nearly happened. One of the first things Ken Thompson and Bill Joy wrote for BSD was Pascal, and the Apple Lisa system was mostly written in Pascal.

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.

I would prefer Modula-2 where I do like the module system.

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

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

Post reply on HN