![]() | Ada Programming is afeatured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on themain page or in other places. Please continue to improve it and thanks for the great work so far! You can edit itsadvertisement template. |
![]() | This book is intended forprofessional readers. |
![]() | Wikipedia has related information atAda (programming language) |
Welcome to theAda Programming tutorial at Wikibooks. This is the firstAda tutorial covering theAda 2005,2012 and2022 standards. If you are a beginner you will learn the latest standard — if you are a seasoned Ada user you can see what's new.
Current Development Stage forAda Programming is " (June 8, 2024)". At this date, there are more than 600 pages in this book, which makesAda Programming one of the largestprogramming wikibooks.[1]
But still there is always room for improvement — do help us to expandAda Programming. Even beginners will find areas to participate.
Ada is a programming language suitable for all development needs.It has built-in features that directly supportstructured,object-oriented,generic,distributed andconcurrent programming.
Ada is a good choice forRapid Application Development,Extreme Programming (XP),andFree Software development.
Ada is named afterAugusta Ada King-Noel, Countess of Lovelace.
Ada puts unique emphasis on and provides strong support for, goodsoftware engineering practices that scale well to very large softwaresystems (millions of lines of code, and very large development teams). The followinglanguage features are particularly relevant in this respect:
Consequences of these qualities are superiorreliability,reusability andmaintainability. For example, compared to programs written inC,programs written in Ada 83 contain"70% fewer internal fixes and 90% fewer bugs", and cost half as much to develop in the first place.[3]Ada shines even more in software maintenance, which often accounts for about 80% of the totalcost of development. With support for object-oriented programming, Ada 95 may bring evenmore cost-benefit, depending on how objects are used; although no serious study comparable to Zeigler's has been published.
In addition to its support for good software engineering practices,which applies to general-purpose programming, Ada has powerfulspecialised features supportinglow-level programming for real-time, safety-criticalandembedded systems. Such features include, among others,machine code insertions, address arithmetic, low-level access to memory, control over bitwise representation of data, bit manipulations, anda well-defined, statically provable concurrent computing model called theRavenscar Profile.
Other features include restrictions (it is possible to restrict which languagefeatures are accepted in a program) and features that help review and certifythe object code generated by the compiler.
Several vendors provide Ada compilers accompanied by minimal run-time kernelssuitable for use in certified, life-critical applications. It is also possible towrite Ada programs which require no run-time kernel at all.
It should come as no surprise that Ada is heavily used in the aerospace, defence,medical, railroad, and nuclear industries.
![]() |
The Ada Reference Manual (RM) is the official language definition. If you have a problem and no one else can help, you should read the RM(albeit often a bit cryptic for non-language lawyers). For this reason, all complete(not draft) pages inAda Programming contain links to the appropriate pages in the RM.
This tutorial coversAda Reference Manual — ISO/IEC 8652:2023 Language and Standard Libraries, colloquially known asAda 2022 or justAda.
You can browse the complete Reference Manual athttp://www.ada-auth.org/standards/22rm/html/RM-TOC.html
There are two companion documents:
TheAda Information Clearinghouse also offers the older Ada 83, 95, 2005 and 2012 standards and companion documents.
The RM is a collective work under the control of Ada users.If you think you've found a problem in the RM, please report it totheAda Conformity Assessment Authority (the Ada RM explains how to do this, seehttp://www.ada-auth.org/standards/22rm/html/RM-0-2.html Introduction (58/1) ff). On this site, you can also see the list of "Ada Issues" raised by other people.
![]() |
Unlike other programming languages, Ada compilers are officially tested, and only those which pass this test are accepted, for military and commercial work. This means that all Ada compilers behave (almost) the same, so you do not have to learn any dialects. The Ada standard does however allow compiler writers to include additional features and libraries that are not part of the standard.
Reading a document online is often quite cumbersome. So if you just started you can also downloadAll Chapters (PDF version) and print them out.
Where to get a compiler, how to compile the source, all answered here:
These chapters look at the broader picture, introducing you to the main Ada features in a tutorial style.
The following articles are Ada adaptations from articles of theComputer programming book. The texts of these articles are language neutral but the examples are all Ada.
Within the following chapters we look at foundations of Ada. These chapters may be used for reference of a particular keyword, delimiter, operator and so forth.
This section is a reference of the Ada Standard Library, which is extensive and well structured. It has these four root packages:
Besides the Standard Library, compilers usually come with a built-in library. This chapter describes theGNAT library in particular.
This section is a reference of third-party Ada libraries which are not part of the compiler predefined environment but are freely available.
![]() | This book has acollection for ordering aprinted copy of this book for a fee.(edit) (help) |
![]() | Aprintable version of Ada Programming is available.1,839 kb (edit it) |
![]() | APDF version of Ada Programming is available.2,663 kb, 243 pages (info) |
The following are collection pages. All collection pages are comprised of groups of the already available pages. You can use them for printing or to gain a quick overview. Please note that those pages are partly very long.
The Source from the Book is available fordownload andonline browsing. The latter allows "drill down", meaning that you can follow the links right down to the package bodies in the Ada runtime library.
Our data indicates that Ada has saved us millions of development dollars.
{{cite journal}}
:Cite journal requires|journal=
(help){{cite book}}
: CS1 maint: multiple names: authors list (link)This Wikibook has been written by:
If you wish to contribute as well you should readContributing and join us at theContributors lounge.