PegaSoft Canada: the Ada Linux Team, 2001. — 360 p.
Special Thanks To
Jeff Creem (user stack and errno clarifications)
Wilhelm Spickermann (CVS)
Leonid A. Timochouk (Florist clarifications)
Jürgen Pfeifer (Multithreading information)
Bernhard Gubanka (Debugging Pools clarifications)
Eric L. Schott, Warren W. Gay, Jean-Marc Bourguet (Adjust vs. C++ Copy Constructors)
Jean-Marc Bourguet (C++ exceptions)
Warren W. Gay (Ada Streams)
Rush Kesler (PDF version)
Duncan Sands (Fortran, Elaborate_All)
Erik Sigra (Automake).
Why Ada and Linux?
Ada provides a number of important features for Linux programmers:
Fast Executables - the GNAT compiler produces executables using the same code generator as gcc.
User Friendly - Ada is easy to learn and use, making it a popular choice for introductory computer science courses. Its source code is much easier to read that C, C++ or Java.
Standardized - Ada compilers adhere to a strict standard making Ada programs reliable and portable. Even Java hasn't been standardized.
Flexibility - Ada has many specialized design features that address issues usually ignored by other languages, such as real-time applications, safety-critical software, and low-level hardware access.
Faster, Cheaper Development - As the previously mentioned Zeigler study shows, Ada programs tend to have fewer errors that C++ programs. This means you can get your work done faster with less time and money spent on debugging.
Scalability - Ada is designed for embedded systems and team projects, making it an ideal choice for large projects. This same scalability, and the object oriented features of the language, make the source code prone to a longer lifespan.
Ample Libraries - The GNAT compiler comes with many general purpose libraries, and bindings exist for most of the key Linux libraries.
Open-source Friendly - Ada's readability and scalability make it an ideal language for open-source development. Child packages, for example, make it easy to extend someone else's work without affecting the original source code.