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…
Because Ada is not a language for quick and dirty. It's a language that is only fun and usable if you apply engineering methods to the whole project (a.k.a requirements, documentation etc.). Most projects out there don't. Quite frankly, it's not a hackers language. EDIT: Oh and the price tag.
Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
151–160 of 203 posts
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#152Earlier 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…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#153Earlier 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…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#154Earlier quoted context omitted.
March 7, 1988 — "Smalltalk/V 286 is available now and costs $199.95, the company said. Registered users of Digitalk's Smalltalk/V can upgrade for $75 until June 1." https://books.google.com/books?id=CD8EAAAAMBAJ&lpg=PA25&ots=...
which quickly became Visual Smalltalk Enterprise, which you can ask various companies about how that went commercially.
https://www.cbronline.com/news/digitalk_has_first_compiled_v...
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#155Earlier quoted context omitted.
Thank you! Is the FSF GNAT version ancient or pretty close to the Adacore version in terms of updates?
I'm not up to date. Last time I checked (about five years ago) the FSF GNAT was about a year behind AdaCore GPL GNAT. Maybe someone else has more recent information.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#156Earlier quoted context omitted.
It hasn't been a requirement for a long time, though it is used in some DOD projects still.
Last I heard, the first major project that had blanket allowance to not use Ada was F-35... ... And I honestly don't think it benefitted from that exception ;)
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#157Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#158Not 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…
Rust seems to be extremely focused on memory safety. Meanwhile Ada is much more focused on correctness in general. Restricting the discussion to simply memory safety ignores, well, most of anything that might be programmed.
Ada also has more memory safety options than people tend to talk about. As others have mentioned, it's possible to allocate quite a bit on the stack. Other rules also prevent some reference issues.
One thing I rarely see mentioned are memory pools and subpools. It is possible to ensure whole types are allocated in a particular subpool, and deallocation can be left for when the subpool falls out of scope.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#159Earlier 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.
> "teaching language" (easy to learn) I think that worked against it as well.
That was one of the problems Ada addressed. But its initial problem was the cost of compilation and builds on the hardware of the time. That got sorted out by the end of the 80's, but then other factors like contractors not wanting their customer telling them how to do their work came into play. Sort of a confusion of requirements and implementation methods.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#160Earlier quoted context omitted.
Ada, not ADA. It’s named after Ada Lovelace, not an abbreviation.
The core of Oracles PL/SQL is called DIANA, distributed intermediate annotated notation (for) Ada.