Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

91–100 of 203 posts

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

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

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.

Yep, the GNAT toolchain in Debian is actively maintained and they even build cross compilers for all of Debian's supported architectures. Combined with a Linux RT kernel, you can get some pretty good performance with only GPL code.

If you need to build for bare metal rather than Linux, things get a bit more complicated as GNAT requires some runtime code to setup things like systick and interrupts. You can use AdaCore's non-GPL runtime for non-commercial purposes, cortex-gnat-rts on top of FreeRTOS, or RTEMS, which natively supports Ada (though it's poorly documented).

I've also had some luck using crosstool-ng to build gcc toolchains with Ada support, but you'll still need to find or write a runtime library for bare metal.

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

#93
post #69

Earlier quoted context omitted.

I could get Turbo C or Turbo Pascal, there was no Turbo Ada. It has never had a compiler / IDE that made it easy to write Windows or Mac applications.

>> It has never had a compiler / IDE that made it easy to write Windows or Mac applications. Are you talking about the Eighties? GNAT is available for free since the nineties and the GPS IDE is available for free on all relevant platforms since nearly twenty years; even before there were IDE like alternatives for free.

The free part is confusing as it is GPL'd and I don't understand what the runtime exceptions mean. It's confusing to me where the boundaries are and when I would have to switch to the commercial version (and get a quote) to make paid and closed source software instead of using the community language. Ada is great, but I'll never use it past hobby status under these conditions.

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

#95

Earlier quoted context omitted.

You are right, but it could be both.

No, it really cannot. It's a person's name.

Americans really love acronyms that spell out a word.

BASIC is a word, and it means Beginner's All-purpose Symbolic Instruction Code.

I don't know why you think it's impossible to have an acronym spell a name?

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

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

>Back in 1990, on the other hand, you wanted to strangle a language that made you ripple a domain change of 0..255 to 0..65535 through all the code by hand. EVERYWHERE.

If you're using hard coded constants instead of actual constants, you deserve the pain of changing it everywhere.

    Something_Lower  : constant := 0;
    Something_Higher : constant := 255;

    type Something is range Something_Lower .. Something_Higher;

Is how you do it. Changing the higher value to 65535 or anything else won't ripple.

Now, you do that in C, you've got hardcoded magic numbers all over the place and the compiler would've just silently compiled without warning. Have fund debugging that mess.

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

#97
post #55

Earlier quoted context omitted.

I agree with you, but I just have to say that if you're having to change a bunch of 255s to 65535 everywhere, you've done things poorly. Ada has a bunch of nice features to refer to these sorts of limits by names or methods that won't need to be changed. For those not familiar with Ada, one way might be MyInteger'Last, which will give the largest valid value for the type. I may or may not be a little crazy about Ada.…

> I agree with you, but I just have to say that if you're having to change a bunch of 255s to 65535 everywhere, you've done things poorly. Sure, but that was just one example that stuck in my head from using Ada 30+ years ago. I also remember one of my project partners threatening me with bodily harm because I wanted to change a name, and it was going to ripple through his modules. Perhaps there were better ways to d…

> Sure, but that was just one example that stuck in my head from using Ada 30+ years ago. I also remember one of my project partners threatening me with bodily harm because I wanted to change a name, and it was going to ripple through his modules

Sounds like a psycho to me. If you change the name of a variable in any language it will ripple through other modules.

With Ada, in his modules, he could've done this:

    Old_Name : Type_Name renames New_Name;

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

#98

Ada 95 was the language for 1st year Comp Sci at the University of Glasgow at the start of the millennium. There was a small revival in Ada at that time. I remember the first lecture introduced a little graphical rocket simulation in Ada and us students would write code to land the rocket. I liked that. Then i think the semester after this they introduced us to Haskell (ghc = Glasgow Haskell Compiler). Another good c…

NYU also. The profs were the creators of GNAT so they taught it instead of Pascal. I loved it but I haven't seen it in action ever in my life.

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

#99
post #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 technolo…

Yes, I remember a tiny buzz around 2001 for it. I considered it but I couldn't find much information and then Python distracted me for a decade.

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

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

Tooling-wise there's only one game in town. That's the primary reason.
Post reply on HN