2024-12-27 12:02:00-05:00 - RE: Failing at Ada Again: Things Are Looking Better!

tags: ada

category: computer/languages/ada


I should note that all my experience with Ada, save for one course in college in the 1980s, has been with the open source GNAT Ada compiler and the open source Ada ecosystem. I suspect that the situation for commercial Ada users has generally been better than the situation of the open source ecosystem.


This article expands on my previous article from this year, "Did I mention that I like the Ada programming Language?"

Did I mention that I like the Ada programming Language?

Previously in 2019 (on my other blog) I wrote about failing to use Ada in my current programming environment, alas.

Failing At Ada Again

But prompted by the upcoming release of Ada 2022, I got a copy of Programming in Ada 2012 with a Preview of Ada 2022 by John Barnes on July 22, 2022, and began reading it.

Programming in Ada 2012 with a Preview of Ada 2022


I remembered all the things I liked about the language, and went looking at the current state of the open source ecosystem for Ada, and happily, things have changed. Notably, in 2020 there was the first beta release of Alire, a package manager for Ada/SPARK!

First beta relase of Alire

Since then Alire has reached version 2.0.2 and a number of packages (called crates) for it have been created.

Alire

Alire also lets you manage your Ada toolchain, which is good since since AdaCore doesn't provide a GNAT Community Edition any more (I think having retired it in favor of Alire).

AdaCore

In addition, an Ada toolchain installer, GetAda, has been created, which downloads and installs Alire and through it a full Ada toolchain.

GetAda


Alire and GetAda obviates the first criticism I had in 2019, since Alire does includes GtkAda as one of its many packages. And, of course, Alire fixes my second criticism, making it much easier to download and use Ada packages. Alire takes care of my third criticism as well.


Although Alire still has some rough spots, it has made considerable progress, and is quite useful.


I'm no longer using a Macintosh, having switched my main machine to Fedora Linux (which most of my other machines have been running for years), but for those who are, Alire supports macOS x86-64 directly, and with the recent work on porting GNAT to Apple silicon Macs, one can probably compile alrie there and use it. And although I haven't seen any sign of Alire on ARM based machines yet, I will note that at least Fedora Linux for ARM does include GNAT and several Ada libraries in its standard repositories, which I have used on the Raspberry Pi 400.


I'll also note, that since there is a new edition of John Barnes book, Programming in Ada 2022, it seems that Amazon has reduced the price on the his previous book that previewed Ada 2022 to not quite half the price of the current edition, which might still be useful for those with lower budgets.

Programming in Ada 2022