Intermediate Ada
Ada is a nice language to use, but it's not the most beginner friendly. Though there are some excellent resources like learn.adacore.com which can get you started if you're new to language, going from a beginning Ada programmer to a proficient one is quite the leap with most of the information being rather sparse.
This is meant to be a collection of articles exploring some aspects of Ada which are just beyond the scope of beginner-friendly tutorials.
Useful resources
- learn.adacore.com — mostly useful for first learning the language, but a pleasant read with interactive examples and occasional notes which might help you along. Also has sections on SPARK and the GNAT toolchain.
- Ada Programming Wikibook — a fairly comprehensive resource which goes in-depth into most aspects of the language, and helpfully points you to the relevant sections of the reference manual along the way.
- Ada 2012 Reference Manual — “ground truth” – the language specification with its pleasantly out-of-date website design, which covers pretty much everything about Ada itself. Given that it is meant to be a specification, it can be overly formal and specific, but it is a good habit for any Ada programmer to know where to find it. Many sections include quite a breadth of examples.
- Ada 2012 Rationale — explains the decisions behind the language design. Rarely the most useful resource, but it can be nice to have.