Hacker News new | ask | show | jobs
by pyjarrett 1637 days ago
> say, Ada programmers.

I stand summoned.

> Unfortunately, none of them ever seem to show up.

We do from time to time, but people assume our language is dead (it isn't). I learned it last year and I've been very impressed by how simple it is, given the speed you get with it.

It was a "big language" at the time, but now it's a language smaller than Rust or C++ which offers good performance with straightforward syntax. Ada also has a package manager now which includes toolchain install.

Ada has inline assembly, easy usage of compiler intrinsics, dead-simple binding to C, built-in multi-tasking (which includes CPU pinning), a good standard library, RAII, and real honest-to-goodness built-in, not-null-terminated strings. It's a compiled language, so you get good speed in general, but the built-in concurrency really does help work which can be split up. Ada 202x is getting even finer grained parallelism (parallel for-loops) in the language itself to even further help this.

- https://alire.ada.dev/

- https://learn.adacore.com/

- https://github.com/pyjarrett/programming-with-ada

- https://en.wikibooks.org/wiki/Ada_Programming

2 comments

> but people assume our language is dead

And/or a lot of misconceptions. I showed up many times as well with those links, and explanations and whatnot.

I recommend https://blog.adacore.com/, too. Ada/SPARK is great when you want formal verification, and your checks to be done by GNATprove; statically, instead of dynamically. FWIW, you can disable runtime checks in Ada.

I also commented https://docs.adacore.com/live/wave/spark2014/html/spark2014_... not too long ago. The whole documentation is useful anyway. You can prove the absence of memory leaks, among a lot of other stuff!

> And/or a lot of misconceptions.

I've tried too. I have an article about some of these:

- https://pyjarrett.github.io/programming-with-ada/clearing-th...

I've heard all sorts of things about ADA. my the main thing keeping me fron delving in has been the lack of general info about it. Thankyou for the links! I'll be taking a look through these. What kinds of projects are people building in ADA these days? I'm interested in it primarily for robotics.
I use Ada as my alternative to C, when I don't feel like doing C++.

I've written a few tools for myself, including a command line code discover tool for large code bases (tens of millions of lines). There's a bunch of embedded work being done with it.

Make sure you use "Ada" rather than "ADA". Some people might give you trouble about it--it's not an acronym, just a name :)