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…
Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
171–180 of 203 posts
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#172Earlier 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…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#173Earlier 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…
> 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
#174Earlier 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.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#175Earlier 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.
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
#176Not 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…
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#177Earlier 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…
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
#178Earlier 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…
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
#179Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#180Earlier 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…