Remix.run Logo
OhMeadhbh 2 days ago

I would love to get a list of language features that are "free to use with GNAT" and those that are "AdaCore license required." The last time I did Ada (admittedly, back in the 90s) it wasn't all that clear what language features I could use for free. And since we're on lists of things, a list of zero-cost abstractions and non-zero-cost abstractions would be nice.

I'm pretty sure these aren't big issues these days, but there's still a lot of people walking around thinking "I can't use Ada on this project, I don't have budget for a commercial compiler." Maybe a "project manager's introduction to Ada." I would write it myself, but I've forgotten most everything I learned about the language and it's development community.

[Apart from that... young engineers should definitely check out Ada, even if you don't eventually use it. Why it was considered a good idea to create a new language, the problems language designers were trying to solve and how developers used the language to build code that was more bullet-proof than C++ is kind of an interesting story.]

csb6 2 days ago | parent | next [-]

> I would love to get a list of language features that are "free to use with GNAT" and those that are "AdaCore license required."

All Ada language features are present in the free/open source version of the compiler. The proprietary version of GNAT is just updated more frequently I think and has commercial support - they periodically copy their changes into the main GCC source tree.

They have proprietary tools for some kinds of static analysis, but those wouldn’t be considered language features. GNATprove (the theorem prover tool for verifying SPARK programs) is open source.

firesteelrain 2 days ago | parent | next [-]

The last time I bought a license for AdaCore it was to get the unit testing, static analysis and dynamic analysis tools IIRC but, that was about 8-9 years ago. We also paid for training from AdaCore and their main guy came out.

monkeyelite 2 days ago | parent [-]

How would you rate that experience?

firesteelrain 2 days ago | parent [-]

AdaCore produces a good product and their technical team is top notch.

thorn 2 days ago | parent | prev [-]

I think AdaCore stopped supporting GNAT community in 2022 and recommended to use Alire community, no?

https://blog.adacore.com/a-new-era-for-ada-spark-open-source...

csb6 2 days ago | parent | next [-]

GNAT Community was just a version of the GNAT toolchain/IDE provided by AdaCore. GNAT is still open source and still updated as part of GCC, it is now just recommended to install it using the Alire package manager. Builds of GNAT are also provided on some distros since it is part of GCC.

inamberclad 2 days ago | parent | prev [-]

Alire is just a package and toolchain manager that AdaCore wrote in the style of Cargo. It still runs GNAT under the hood.

thesuperbigfrog 2 days ago | parent | next [-]

I don't think AdaCore was involved in the creation of alire:

https://zaguan.unizar.es/record/79726/files/texto_completo.p...

AdaCore does directly contribute to GNAT which is important.

GNAT was chosen for alire since it is free software: "This work presents a working prototype tailored to the Ada compiler available to open source enthusiasts, GNAT."

Other Ada implementations typically use their own build systems which are different from GNAT's and so they would probably need changes to work with alire.

ajdude 2 days ago | parent | prev [-]

Alire isn't written by adacore, it's an independent project though adacore has donated to them.

At this point it is becoming the de facto method of acquiring the toolchain and building Ada projects.

jaypatelani 2 days ago | parent | prev [-]

Check this might help. Community created space to access free open source tooling it will still have adacore toolings

https://ada-lang.io/