Earlier quoted context omitted.
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.
What abour Spark?
Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
141–150 of 203 posts
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#142Earlier quoted context omitted.
Ada also lets you create ad hoc local reference types and disallows references escaping beyond the scope of their type. This is an insanely powerful combination for ensuring references do not leak beyond where they are supposed to.
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 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 unsoundnesses and is working on a new borrow checker implementation as we speak" may not be attractive to Ada's usual users. :) (To be clear, I'm fine with the risk profile of Rust's borrow checker, but in part that's because I'm fine with the risk profile of using the latest stable Rust and picking up any fixes every six weeks. I'm fine with a more powerful feature that lets me develop code quickly and I'm fine with upgrading my compiler every six weeks to pick up any bug fixes; I imagine that people writing airplane control software are probably going to prefer something less powerful that hasn't changed in decades.)
Honestly, I think one of the questions here is community. I don't really know who the Ada community is, beyond press releases from Adacore about planes and trains. I suspect that community simply does not care about safe dynamic allocation, even if it were available as a supported option, so they aren't going to be excited about testing out this feature. Is there a user community who would use this, in production (doesn't have to be a company, the "serious hobbyist" open source dev is fine and probably even preferable here), within the next five years or so? Are there folks writing stuff like high-performance grep replacements in Ada or hardened HTML 5 implementations in Ada?
I'd love to see (or help with!) such a comparison, but I get the sense that Ada's and Rust's use cases are so different that writing a fair apples-to-apples comparison is hard and even finding someone to do it would be hard.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#143Earlier quoted context omitted.
That's very academic. No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity. Heck, you couldn't even use Ada for non-GPL open source programs. Not sure why you compare it to Smalltalk Because Smalltalk vendors have a long history of doing the same pricing that made it impractical to impossible for the little guy to use the language. There have…
> No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity Have you read my answer? There is no reason why you couldn't use FSF GNAT or GPS in closed-source projects. > Heck, you couldn't even use Ada for non-GPL open source programs. Why not? The GPL GNAT with RLE allows you to use any licence with your application, whether closed or open-source.…
But there is Fear Uncertainty & Doubt.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#144Earlier quoted context omitted.
That's very academic. No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity. Heck, you couldn't even use Ada for non-GPL open source programs. Not sure why you compare it to Smalltalk Because Smalltalk vendors have a long history of doing the same pricing that made it impractical to impossible for the little guy to use the language. There have…
> No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity Have you read my answer? There is no reason why you couldn't use FSF GNAT or GPS in closed-source projects. > Heck, you couldn't even use Ada for non-GPL open source programs. Why not? The GPL GNAT with RLE allows you to use any licence with your application, whether closed or open-source.…
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 the IDE says the community edition is only authorized for GPL software, every other edition is big bucks. https://www.adacore.com/gnatpro/comparison
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#145Earlier 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…
I'm not surprised an engineering class tended away from Ada. It's really designed to ensure robust software is produced than it is anything else. It tends to want to force you to write down far more of your mental model than other languages, and it will hold you to it. While I find this very helpful in ensuring my programs actually do what I intended, I think it also incurs some up-front costs. It's harder to just start writing anything and then slowly twist it into a solution. It also takes a little more time before you run it for the first time. The certainty that it actually works at that point is what makes it all worth it.
It's a bunch of trade-offs ill-suited for a large number of simple programs.
Emotionally I think it's also a bit of a harder sell because of it. I spend far more time trying to get it to compile than you do in other languages. Particularly if you are in a rush, it can feel worse. You don't even have an executable yet - and it's the damned language/compiler that won't let you make one! Never mind that the reason it's stopping you is that the theoretical executable wouldn't work properly. I can't decide if it is actually a matter of delayed gratification, or if it's merely very similar. But either way, I think that's one of the adoption issues I haven't seen talked about much.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#146Earlier quoted context omitted.
> the GPS IDE is only free for "open source GPL software"[1] That's very academic. The GPS is available under GPL (see https://github.com/AdaCore/gps ). As long as you don't deploy GPS or link your app with it you can use it for closed-source apps as you like; it's definitely no GPL violation. > This sucked for Smalltalk Not sure why you compare it to Smalltalk; but for the latter you can use Squeak for free (under M…
That's very academic. No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity. Heck, you couldn't even use Ada for non-GPL open source programs. Not sure why you compare it to Smalltalk Because Smalltalk vendors have a long history of doing the same pricing that made it impractical to impossible for the little guy to use the language. There have…
https://books.google.com/books?id=CD8EAAAAMBAJ&lpg=PA25&ots=...
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#147I'm not sure if this is still the case, but one of the reasons I learned Ada in college is because it was used by the DOD. I'm not sure if it's still a requirement for DOD projects, but I believe it was at the time. Which would perhaps explain why Airbus chose Ada. Either that or simply the engineers who are on the project were exposed to/ used Ada during other DOD projects. Since college, I've never touched it again…
It hasn't been a requirement for a long time, though it is used in some DOD projects still.
... And I honestly don't think it benefitted from that exception ;)
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#148Earlier quoted context omitted.
That's very academic. No, if small commercial developers cannot use the language without paying massive fees, you might as well forget any popularity. Heck, you couldn't even use Ada for non-GPL open source programs. Not sure why you compare it to Smalltalk Because Smalltalk vendors have a long history of doing the same pricing that made it impractical to impossible for the little guy to use the language. There have…
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=...
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#149Earlier 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 Well, it did, it just cost $50k/seat.
Re: Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System
#150Earlier quoted context omitted.
> Why is ADA not adopted more broadly? Productivity, and the general labour intensity. Formal verification is not critical for the lion share of all software, and people obviously would like to save man hours by not dealing with it. Second is the availability of developers. Not many people even now what formal verification actually is, let alone see rationale for learning verification driven development.
You can use ADA without the Formal verification part. I would say at least for embedded systems it's more productive than C because it has a much stronger and expressive type system. E.g. if you do a lot of fixed-point math, ADA's type system can express it. ADA has proper arrays, with bounds checks. ADA has built-in multithreading. ADA is a very productive language for embedded systems, much more so than C. But peop…
The parts of the syntax I'm very familiar with just get treated by my brain just the same. It's not "busier" in my head because words are written out. But things I'm not so familiar with I can basically just read. And anything really unfamiliar with is easy enough to search.
Syntax stuff falls out of my head pretty quickly if I'm not using it, so I find this particularly useful.