Live data from Hacker News

Airbus Chooses GNAT Pro Ada for Development of Unmanned Aerial System

manufacturing.net

141–150 of 203 posts

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

#141
post #122

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?

SPARK is a model checker for a subset of Ada. In contrast to the GNAT runtime library there is no need to deploy anything related to SPARK when you use it. As long as you don't deploy GPL software there is no issue with closed-source applications. Just use the GPL version of GNAT and SPARK to build and check your application.

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

#142
post #77
post #75

Earlier 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'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 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

#143
post #140

Earlier 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.…

> There is no reason why you couldn't use FSF GNAT or GPS in closed-source projects.

But there is Fear Uncertainty & Doubt.

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

#144
post #140

Earlier 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.…

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

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

I'm not sure why changing a name would be so particularly bad in Ada. If anything, as Lucretia09 pointed out, Ada probably tends to be a bit easier to change names in than other languages.

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

#146
post #128

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

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

#147

I'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.

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

#148
post #146

Earlier 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=...

which quickly became Visual Smalltalk Enterprise, which you can ask various companies about how that went commercially.

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

#149

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 Well, it did, it just cost $50k/seat.

A little exaggerated. From the 90's there were a couple (Janus, Meridian) at about $600 a seat.

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

#150
post #33
post #26

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

When I first started poking around Ada, I wouldn't say I found the syntax ugly but I very used to C++ and found it at least a bit odd. Nowadays I find myself expressing the exact opposite of your own sentiment. I wish more languages used a syntax more similar to Ada.

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.

Post reply on HN