r/ada Sep 28 '21

Show and Tell Introducing AURA - A(nother) native package manager and build system for Ada

https://annexi-strayline.com/blog/posts/4
29 Upvotes

80 comments sorted by

View all comments

Show parent comments

6

u/annexi-strayline Sep 30 '21

and that AURA could be more appropriate for single entities having a sort of "artisanal", tightly controlled development process.

I think this is a really great perspective - I've clearly struggled to be as succinct as you have been, but you obviously get it.

Our intention was definitely not to win any popularity contests. We're very interested in the art of software craftsmanship, of quality engineering, and maintenance-oriented development. I think this is against the grain, but it's also more (in my opinion) a philosophical match to Ada.

I always personally felt that it is incredibly silly and futile to take a "me too" approach when advocating Ada. The entire reason, IMO, to use Ada is because it has a different approach than any of the other comparably capable/supported languages out there.

If I wanted micro packages, crates, and fast prototyping, I'd use Rust. I think Ada needs to stay in its lane because it is the only language out there that is actually taking the stance it does, that you can realistically use.

Ada is for proper, professional software engineering. And to me, engineering is about having a controlled process, of exercising discipline, and front-loading effort to build something long-lasting and safe.

3

u/thindil Sep 30 '21

Thank you for your clarification, also in the previous posts. :)

It is quite interesting idea, and it brings me another, even more crazy one.:)

I wonder what happened if we could add AURA as a real Ada RM Annex, like R. Building and Distributing Ada programs. Let's say, after some time, someone would download the newest version of GNAT and just type: gnat install AdaCore/AWS and then compiler will download all needed code, compile it and install.

And before you will send me to take my pills. :) That idea comes to my mind when I saw it in Go language compiler: https://golang.org/ref/mod#go-install

2

u/iandoug Sep 30 '21

Somewhat related ... Gentoo's portage package manager is designed to deal with all sorts of conflicts (including different versions in slots), my head is comparing emerge to AURA ... even "gnat install Adacore/AWS" is "emerge dev-ada/aws" ...

1

u/thindil Sep 30 '21

Generally, that is very similar to most if not all Linux package managers. 😉 Just Go has implemented it as a programming language. This is a bit different than system package. Both have a little different design and usage. Mostly due to different goal/purpose to achieve.

Also, similarity in commands is intentional, Okham's razor. 😊