louis's Blog

louis's Avatar Image
Software developer #Go #CommonLisp #JS #SQL. #LispWorks user. Soft spots for #Emacs #SmallWeb. Recently becoming #OpenBSD enthusiast. #LinuxMint as a daily driver. Recovering Apple addict.

Author of the Tuner app for Linux.

Other hobbies: #Running #FireFighter #StarTrek
← All posts

A lot is changing in the world of Ada programming language recently. There is now the Alire package manager which is also a complete project, build and toolchain management tool.

https://alire.ada.dev

All you need is to download Alire and you can start programming in Ada, using hundreds of “crates” already available in the package repository. It will also download the right compiler for your platform automatically.

Ada also features a LSP-compatible language server, a VS Code extension and ada-mode for Emacs and Eglot support.

The language itself is standardised (Ada 2022 was ratified recently, although 2012 is the most used version), free and open-source, FSF/GCC supported.

Lot’s of excellent free training material is available, “Ada Distilled” from Richard Riehle is one of the best. Also there is an online course on the AdaCore website.

https://github.com/ohenley/awesome-ada/blob/master/README.md

Ada is perceived as the language used by security and mission-critical industries, but it is really a general-purpose language that can be used from low-level system programming to high level GUI applications, it has an easy FFI and many bindings to C/C++ libraries are already available (i.e. Qt).

Ada had a devroom at FOSDEM 2019 with interesting talks for anyone who wants to get a first impression:

https://archive.fosdem.org/2019/schedule/track/ada/

Ada is easy to learn and has many interesting concepts. Its strict type system, Pascal-like syntax, cross-compiling and concurrency built-in to the language are some of its most unique features.

Give it a try, you’ll be surprised how fast you can get started and how easy it is to learn.

#Ada #AdaLang #FOSDEM

To like or reply, open original post on Emacs.ch