Your reading this under the terms of Fix Errors Licence (FEL) that means that you get a good tutorial but also that you contribute to making it better by, when you find errors (or omissions) you write me an email (see the bottom of every page for the address) and tell me exactly what is wrong, where and the correction you suggest.
One of the most frustrating things and the biggest waste of time in programming, is written material that contains errors and omissions in it's instructions. I spent 2 working days to figure out that I needed a library that wasn't mentioned, naturally I reported it.
Multiply that by a hundred to a thousand and that is a lot of wasted person hours all because nobody could be bothered to make the correction. "A stitch in time save nine".
At AdaWorks - Error detection and correction is a principle, not a luxury.
Fixes 1st Features 2nd. Thank you for your anticipated contribution.
The primary compiler tool suit for Ada code is called GNAT (GNU NYU Ada Translator) and it is open source (they let you look at the source code and use it if you like) but also you are allowed to use it for commercial development. Usually if you use free open source code you must agree to give away what you write as open source also so this is an exception to that rule.
GNAT is a command line based system that you use from a terminal.
You also need a decent editor and if it has Ada syntax highlighting all the better. The command line debugger isn't so great to use.
Here are the tutorial pages for Starting GNAT for different Operating Systems which detail how to install the compiler and how to write your first Ada program.
These tutorials are not intended as a means to learn the Ada language but rather a means to learn how to install the programming tools and how to organise a large Ada project. There are already some very good introductions to the Ada language available which I have listed under the next heading.
There are also two additional tutorials that come after the "Starting" tutorial to help with multi-file development and for large Ada projects.
An alternative to using GNAT directly is to use AdaCore's Intergrated Development Environment (IDE), which offers a better debugging facility. It is free for non-commercial work but has to be paid for if you are doing commercial work. The tutorials for it have some mistakes which were not corrected last time I looked. I have only used the Linux version.
I have yet to find viable alternatives to these two approaches and when I do I shall list them here.
There are already some very good introductions to the Ada language available and here are links to my favourites.
There are other useful websites on the references page.
GNAT stands for GNU NYU Ada Translator. and is the basis of todays Ada world it seems.
Quoting from Wikipedia: GNAT
GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection (GCC). It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83. Originally its name was an acronym that stood for GNU NYU Ada Translator, but that name no longer applies. The front-end and run-time are written in Ada.
The GNAT project started in 1992 when the United States Air Force awarded New York University (NYU) a contract to build a free compiler for Ada to help with the Ada 9X standardization process. The 3-million-dollar contract required the use of the GNU GPL for all development, and assigned the copyright to the Free Software Foundation. The first official validation of GNAT occurred in 1995.
In 1994 and 1996, the original authors of GNAT founded two sister companies, Ada Core Technologies in New York City and ACT-Europe (later AdaCore SAS) in Paris, to provide continuing development and commercial support of GNAT. The two companies always operated as one entity, but did not formally unify until 2012 as AdaCore.
The licensing permits the development of commercial software;
The GMGPL license is GNU GPL 2 with a linking exception that permits software that with licenses that are incompatible with the GPL to be linked with the output of Ada standard generic libraries that are supplied with GNAT without breaching the license agreement.