Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

171–180 of 203 posts

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

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

Compilers also were relatively large, at least in part because the language is large. For example, it has generics, tasks and inter-task communication. C compilers did not need to have those in the 80s. That mattered at a time when many users wouldn’t have a hard disk.

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

#172
post #165

Earlier quoted context omitted.

First the last, There were always free ST versions as far as I can remember. The "little guy" could e.g. use "Little Smalltalk" by Budd which appeared before 1987. No one could write a commercial program with Little Smalltalk. Love the book, but the implementation is not going to work. Heck, Squeak could not do a program that looked anything like a real Windows or Mac program. Maybe we're talking past each other but…

Well, if you were willing to spend 60$ you could buy a Smalltalk package suited for commercial applications which looked somehow like Windows. But that's not the topic here anyway. > Maybe we're talking past each other but the IDE says the community edition is only authorized for GPL software, every other edition is big bucks. Do not let this mislead you. The software is available under GPL. That is all you need to k…

Ok, no. Look at the GPL interaction with App Stores. GPL has been debated on HN forever.

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

#173
post #142
post #77

Earlier quoted context omitted.

Yes, thanks. There are a lot more examples. I wish someone with deep knowledge and real experience in both Ada and Rust would write a side-by-side comparison covering all relevant aspects, including more recent developments like https://www.adacore.com/papers/safe-dynamic-memory-managemen... .

I've seen that before - is there an implementation, and also, how do the usual users of Ada feel about it? I feel like one of the attractions to Ada for this sort of use case is its maturity, and "here's a proposal for a complicated feature, inspired by Rust, a language which young and rapidly evolving and in particular switched to a new borrow checker implementation less than two years ago and shipped it with known…

Where is the quoted text from ("here's a proposal... as we speak")?

> I imagine that people writing airplane control software are probably going to prefer something less powerful that hasn't changed in decades

True, depending on the design assurance level a certified compiler is required.

> I suspect that community simply does not care about safe dynamic allocation

See the reference in my former post. Whether and when the certification authorities accept it is yet another question.

> Is there a user community who would use this, in production ...

It's easy to find projects on Github where dynamic allocation is used; e.g. https://github.com/ghdl/ghdl; with the current developments, such applications may also have a chance for formal verification in the future. And no doubt it would help if the Rust compiler was formally verified as well.

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

#174
post #165

Earlier quoted context omitted.

Well, if you were willing to spend 60$ you could buy a Smalltalk package suited for commercial applications which looked somehow like Windows. But that's not the topic here anyway. > Maybe we're talking past each other but the IDE says the community edition is only authorized for GPL software, every other edition is big bucks. Do not let this mislead you. The software is available under GPL. That is all you need to k…

Ok, no. Look at the GPL interaction with App Stores. GPL has been debated on HN forever.

I do not understand what you are trying to say. I also don't understand what the current topic of conversation has to do with App Stores.

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

#175
post #154

Earlier quoted context omitted.

Factually, October 22 1989 — "… an OS/2 version of the Smalltalk language, Smalltalk V/PM … The $500 product is designed to cut the time it takes to prototype user-interface-intensive applications for Presentation Manager." https://www.cbronline.com/news/digitalk_has_first_compiled_v...

OS/2 didn't move the needle for anyone. Smalltalk V evolved into an unsupported, expensive Smalltalk. Smalltalk never had its Turbo moment.

15 July 1991 — "The package costs $499.95. Registered users of earlier versions of Smalltalk/V Windows can upgrade for $25. …

Digital's Smalltalk/V Macintosh will continue to cost $199.95, but eliminates the previous per copy run-time royalty fee."

https://books.google.com/books?id=jVAEAAAAMBAJ&lpg=PA16&dq=d...

Did Turbo ever have it's enterprisey moment?

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

#176
post #64
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 doesn't have compile-time-safe dynamic memory allocation and deallocation (i.e., tracking a pointer so that you know statically that it's no longer used elsewhere in the function that frees it). Rust does it through the lifetime system, which is based on Cyclone, which long postdates Ada. The usual alternatives are to statically allocate all your memory, to convince yourself it's safe to use Unchecked_Deallocatio…

Not exactly what you're after but I asked HN about memory-management in Ada recently, and got a response from one of the AdaCore guys.

https://news.ycombinator.com/item?id=24361992

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

#177
post #48

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.

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

The Mac was programmed in Object Pascal and assembly. No C anywhere.

C compilers for the Mac came along later, and even Apple A/UX Unix System V with BSD extensions, and Gcc. A/UX ran pretty nicely in 8M on an SE/30 (512x342 mono CRT), with a MacOS 9 GUI emulator you could run xterms on.

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

#178
post #173
post #142

Earlier quoted context omitted.

I've seen that before - is there an implementation, and also, how do the usual users of Ada feel about it? I feel like one of the attractions to Ada for this sort of use case is its maturity, and "here's a proposal for a complicated feature, inspired by Rust, a language which young and rapidly evolving and in particular switched to a new borrow checker implementation less than two years ago and shipped it with known…

Where is the quoted text from ( "here's a proposal... as we speak" )? > I imagine that people writing airplane control software are probably going to prefer something less powerful that hasn't changed in decades True, depending on the design assurance level a certified compiler is required. > I suspect that community simply does not care about safe dynamic allocation See the reference in my former post. Whether and w…

> it would help if the Rust compiler was formally verified as well

As far as I know, the only usable formally-verified compiler (for a serious programming language) is the CompCert C compiler. Even C compilers and Ada compilers intended for use with critical systems, don't tend to be formally verified.

Of course, it would still be great if the compiler for Rust (or Ada, or any other language for that matter) could be formally verified.

It's unfortunate that CompCert isn't Free Software.

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

#180
post #173

Earlier quoted context omitted.

Where is the quoted text from ( "here's a proposal... as we speak" )? > I imagine that people writing airplane control software are probably going to prefer something less powerful that hasn't changed in decades True, depending on the design assurance level a certified compiler is required. > I suspect that community simply does not care about safe dynamic allocation See the reference in my former post. Whether and w…

> it would help if the Rust compiler was formally verified as well As far as I know, the only usable formally-verified compiler (for a serious programming language) is the CompCert C compiler. Even C compilers and Ada compilers intended for use with critical systems, don't tend to be formally verified. Of course, it would still be great if the compiler for Rust (or Ada, or any other language for that matter) could be…

The Rust compiler had some severe bugs in the past which undermined the effectiveness of the memory safety. There is the saying in software engineering that the number of undiscovered errors in the system is proportional to the number of discovered errors. On the other hand Ada compilers used to be subjected to strict validation procedures in the past, and the AdaCore toolchain has an ISO 26262 and IEC 61508 qualification. That was the source of my remark.
Post reply on HN