Ok, I don’t know how to approach this topic, either, so I’ll try to make it as bearble as possible while also comprehensive. I’ll state what is really needed first, and the problems with what’s available, followed by the otherwise unnecessary context behind what I write which may shape responses. Frankly, I apologize for how brazen this claim is, but I feel the learning resources for Ada are unfit for purpose.
First, I tried chatGPT, but it couldn’t keep track of the “lesson plan.” Then I looked at the official learning material from adacore, whichis for 2012, and it reads like it’s not actually going to cover every topic. Then I went to the definitive resource, the reference manual, and it reads like “The missile always knows where it is, because it knows where it isn’t. By subtracting where it is by where it isn’t, or where it isn’t by where it is, whichever is greater, it obtains a ‘difference’ or ‘deviation’” when I’m just trying to figure out how to set the parking break before we unchock the tires. Then there’s the video tutorials which branch out of the language and into SDL in lesson 2 or 3?
If someone’s going to take the time to learn Ada, they both should and should want to know the entirety of the language constructs, which throws out the learn.adacore.com stuff (because the topic separation and overlap does not instill confidence that it’s comprehensive) and the video tutorials. Next, while the reference manual makes sense for experienced Ada coders wanting to write a compiler for Ada, i can’t tell you from reading what a “subtype” is for (which is where I’m at in the RM). Is there anything like the C or C++ tutorials which actually cover whole topics verbatim in a progressive form?s
For context: I’m learning Ada because of the drama surrounding my first language (C++) and the deprecation hell that has permiated pretty much every language. I need to be able to write programs and utilities that I can rely on for years to come (I work in a factory as a laborer and happen to know and like programming, but I don’t have time to rewrite every program from scratch because a language removes a construct or major library like PHP loves to). Ada looks incredibly stable by comparison. I’ve been doing this sort of thing since maybe 2005. I know C/C++, x86 assembly, Java, VB.net, PHP, and who knows what else I’ve dabbled in, so I get that things external to the language get deprecated, systems change, etc. My fear is that even C will change when C++ adoption drops in favor of plain C. Meanwhile, one of Ada’s express goals is to keep that code from the 80s compiling, even if they add a few new features here and there that breaks code that just happened to use an identifier that shares it’s name with a new keyword. Moreover, Ada actually has useful things like object orientation (unlike C). But like, it seems to be unnecessarily difficult to actually get into. I would try to solve this myself, but i lack the ada knowledge to do it.
So, i was curious if anyone actually was aware of something like the RM but in plain english. The learn.adacore.com materials are fairly good, but if they don’t cover everything, that just forces everyone into the RM if they want to learn the whole library or years reading the code of random people trying to find new nuggets of information.