6 ms·
When I learned Ada, I used the wikibook [1] and bought an inexpensive used textbook from Amazon. I have a basic competency of the language, and really like the
by fuball63 8y ago
When I learned Ada, I used the wikibook [1] and bought an inexpensive used textbook from Amazon. I have a basic competency of the language, and really like the quality of the compiler toolset, the type system, the "DIY" OOP (as I call it), and the packaging system. My biggest issues with it are that bindings for databases, graphics libs, and web development libs are few and far between and usually just a lonely github repo. But, as another positive, writing bindings to C libs seems pretty easy [2], so someday I'll give it a try.
[1] https://en.wikibooks.org/wiki/Ada_Programming https://en.wikibooks.org/wiki/Ada_Programming
[2] https://flyx.org/2012/06/13/adabindings1/ https://flyx.org/2012/06/13/adabindings1/
- xemdetia 8y agoI think this is the death knell of most people trying to casually pick up Ada or most used-but-not-extremely-popular languages from the 70's and 80's, our expectation of doing something meaningful and sensible has just moved so far that not having the supporting libraries means a lot of upfront work. I think I've gotten stuck here for LISP, getting back into Pascal, Ada, and probably some other languages I wanted to experiment building a modest size application with. It really shows how valuable having that very active and mature core library or managed package library is to a language. I did the same learning path as the prior poster but then just ended up stuck.
- fuball63 8y agoPart of it is admittedly laziness and used to a certain convenience. There's no package manager for the language, and OS package managers rarely carry used-but-not-extremely-popular language bindings. But the code is out there, like this SDL2 binding: https://github.com/Lucretia/sdlada https://github.com/Lucretia/sdlada
- kqr 8y agoWriting bindings for C libraries is ridiculously easy. You can run a script that generates the corrects .ads for a header file and then... wait, there is no step 2. That's it!
- fuball63 8y agoThat is cool. Is the script something I can download somewhere?
- OneWingedShark 8y agoIf you have GCC or G++, simply use the `-fdump-ada-spec` command-line option; done. (see: https://www.adacore.com/gems/gem-59 https://www.adacore.com/gems/gem-59 )