Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

41–50 of 203 posts

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

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

In the 80s, largely because compilers were expensive.

I think it had a (smallish) second chance in 2001, when GNAT was put in the main GCC tree. By then plenty of people were disillusioned with C and C++, and I think it could have got momentum in a way similar to how Rust has (by appealing to programmers' pride in producing less-buggy programs).

But the Gnu Ada maintainer was also the person running Ada Core technologies (who sold the proprietary version of Gnat), and wasn't at all interested in making sure the free version worked out of the box on Linux distributions, or promoting Ada as a language for writing free software.

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

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

Because Borland lost their way and Turbo Pascal/Delphi was the leading Pascal implementation, so eventually most Pascal lovers moved into Java/.NET.

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

#43
post #19

Earlier quoted context omitted.

> Why is ADA not adopted more broadly? The Ada specification is huge. You can learn 90% of C with K&R 2.

Web search saver: Ada '83 spec is 338 pages ( https://quicksearch.dla.mil/qsDocDetails.aspx?ident_number=3... ) For C life is easy as you can leave things undefined with the caveat "dragons may fly out of your nose" :) An alternative example of a small spec language might be Scheme (especially pre-R6RS): https://www.schemers.org/Documents/Standards/R5RS/r5rs.pdf

Nobody wants to write 83 and the later additions are far more extensive than C99 and 11.

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

#44
post #31
post #28

Earlier quoted context omitted.

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.

Uneven C++ support was a big issue, too.

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

#45

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?

Ada Web Application looks nice: https://www.electronicdesign.com/technologies/embedded-revol...

I have not had a chance to use it yet, but I would like to when the opportunity arises.

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

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

the free version of gcc gnat is garbage, it randomly crashes during compilation, the timers are based on a subdivision of systick on STM32 (good luck for accuracy or high frequency).

So basically you need to already be wealthy to just dip into it (buy a licence of Adacore and a supported expensive aero grade MCU test kit).

I stopped messing with it 5 years ago.

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

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

When Apple ported their code from the Lisa to the Macintosh they had to rewrite a lot of Pascal code in C and assembly to make it fit into the ROM's. There was also an issue 100% standard Pascal was useless for writing micro computer programs because it couldn't do any IO outside the console and files. C on the other hand through pointers and inline assembly allowed you to directly monkey with the hardware.

Thing also forgotten how many early PC programs were written in assembly.

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

#49

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.

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

#50
post #32
post #11

Earlier quoted context omitted.

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

"Turbo had a great IDE" in no way refutes that Ada suffered from not having an IDE.
Post reply on HN