A significant advantage of Ada is its reduction of debugging time. Ada tries to catch as many errors as reasonably possible, as early as possible. Many errors are caught at compile-time by Ada that aren't caught or are caught much later by other computer languages. Ada programs also catch many errors at run-time if they can't be caught at compile-time (this checking can be turned off to improve performance if desired). In addition, Ada includes a problem (exception) handling mechanism so that these problems can be dealt with at run-time.
However, Ada's user base has expanded far beyond the U.S. DoD to many other areas such as large-scale information systems, distributed systems, and scientific computation. Major Ada niches include aerospace and safety-critical systems. An informal 1994 survey concluded that Ada was the most popular language for safety-critical systems.
People use Ada for small projects as well as large ones, since Ada's error-catching capabilities (both compile-time and run-time) significantly reduce debugging time. Also, Ada's parallel constructs can take advantage of today's more advanced operating systems (such as Microsoft's Windows NT, Windows 95, and Mach).
Many people use Ada when the application must run quickly. The Ada programming language was designed to be efficiently implementable, since one of its key application domains is in real-time embedded systems (where efficiency is critical). The actual efficiency of an Ada program, of course, depends on the the algorithms selected and the actual Ada compiler used. The first Ada compilers, like many other first compilers of a given language, generated inefficient code; modern Ada compilers generally generate relatively good code. Sadly, the performance of the initial Ada compilers created a myth of slow execution that is only beginning to disappear. The best test of efficiency, of course, is to benchmark a specific compiler with the type of problem you wish to solve.
Ada is officially defined in its language reference manual (LRM). The complete Ada LRM is available on-line as a hypertext document. However, the LRM is not intended to be a tutorial and can be hard to understand if you're not already somewhat familiar with Ada. We will often refer to the LRM, and feel free to look at it if you're interested in more detail about a particular subject.
Ada was not designed by a committee. The original Ada design was the winner of a language design competition; the winning team was headed by Jean Ichbiah (Ichbiah's language was called "Green"). The 1995 revision of Ada (Ada 95) was developed by a small team led by Tucker Taft. In both cases, the design underwent a public comment period where the designers responded to public comments.
There are many Ada compilers, including a free Ada 95 compiler called GNAT based on the Free Software Foundation's gcc. There are also many Ada-related tools and on-line reference documents. A later section of this tutorial provides more information about on-line Ada information sources.
Go back to the tutorial home page
Skip to the next section
Go up to the outline of lesson 1
David A. Wheeler (email@example.com)