Doom-ada: Doom Emacs Ada language module with syntax, LSP and Alire support

50 tomekw 4 9/12/2025, 3:11:43 PM github.com ↗

Comments (4)

valorzard · 1h ago
Ada is something I've always wanted to get into (it interests me that there's a low level programming language that came around at the same time as C but just never took off)

Ada has a bunch of features built into it already, including concurrency support with tasks [0]

I just haven't found the right motivation to figure out what to do with it yet. Maybe I could play around with the Raylib bindings [1] at some point?

There's also the SDL bindings, which a LOT of work has seemingly gone into [2]

[0] https://learn.adacore.com/courses/intro-to-ada/chapters/task...

[1] https://blog.adacore.com/ada-gamedev-part-3-enjoy-video-game...

[2] https://github.com/ada-game-framework/sdlada

jordanb · 35m ago
I learned Ada back in the day, and like it a lot. Always want a project to get back into it. It's more C++ than C though. Arguably, it's C++ done right, or rather, a worse-is-better situation with C++.

One take away is that learning Ada would be a good way to learn the proper way to write C++ code, because the patterns that C++ developers eventually adopted for that level of abstraction are prescribed in Ada. For instance, Ada's Controlled Types map pretty much exactly to the C++ "RAII" pattern.

Ada also is better than C as an embedded language because it has features that make mapping to hardware easier. For instance, it has Representation Clauses that describe to the compiler how a data structure needs to be laid out in memory. It also has native support for bit manipulation. This makes mmaped-io extremely easy and reliable.

globular-toast · 28m ago
Why is it specific to doom emacs?
tomekw · 23m ago
Nothing specific to Doom Emacs. And that’s great! I just packaged it so it just works! :)