This textbook provides an in-depth technical reference on Ada’s advanced features. It builds upon core fundamentals by delving into intricate language details through rigorous but accessible explanations and examples. Key topics include advanced data types, controlled visibility, OO, contracts, generics and exception handling. Developers learn how to optimize programs and solve sophisticated challenges using Ada. Familiarity with the core concepts covered in the Introduction to Ada course is assumed, as it provides the foundational knowledge required to understand the advanced topics presented in this textbook.
Recommended for: Experienced Ada programmers looking to deepen their knowledge of advanced Ada language features and concepts. This course is suited for intermediate to advanced Ada developers who have a solid understanding of the core Ada programming language and are ready to explore more advanced topics.
You will:
- Gain a deep understanding of Ada’s advanced type system, including definite and indefinite subtypes, incomplete types, and type representation.
- Learn how to effectively use Ada’s sophisticated record and array structures, including mutually dependent types, container aggregates, and multidimensional arrays.
- Explore Ada’s powerful expression and statement capabilities, including conditional expressions, quantified expressions, and extended return statements.
- Discover techniques for advanced subprogram design, such as operator overloading, nonreturning procedures, and inline subprograms.
- Delve into Ada’s exception handling mechanisms, including assert statements, exception renaming, and suppressing checks.
- Understand Ada’s sophisticated modularity features, including private packages, limited visibility, and subprogram encapsulation.
- Investigate Ada’s powerful resource management capabilities through access types, including discriminants as access values, mutually dependent types, and accessibility rules.
- Get an introduction to the SPARK subset of Ada and its formal verification capabilities.
Detailed Overview
Published by the team of Ada language experts at AdaCore, the lead steward and implementer of the Ada language, the book draws from their unmatched experience developing Ada compilers and toolchains over decades. The authors have an unparalleled knowledge of Ada developed through their heavy involvement in evolving the language standard and applying it in numerous safety-critical domains.
Spanning 15 comprehensive chapters and over 400 pages of rigorous technical content, the textbook provides an exhaustive overview of the Ada constructs that are essential for developing large-scale, long-term applications where considerations like safety, security and maintainability are mission-critical. These constructs that are explored in-depth include generics for abstraction and code reuse, contract-based programming for design-by-contract, low-level data representation control for optimization, and concurrency primitives for real-time and multi-threaded systems.
By completing this intensive course of study, readers will learn how to leverage Ada’s most powerful capabilities for engineering secure, high-assurance systems suitable for safety-critical domains like avionics, rail transportation, and medical device industries that require extremely high dependability from software over decades of use. The guidance presented on utilizing these advanced features is applicable to programmers throughout their careers as they tackle increasingly sophisticated design challenges. The textbook’s comprehensive treatment across 15 detailed parts firmly cements its status as the definitive technical reference for achieving an expert-level mastery of Ada. Developers will gain a deep understanding of the Ada language that enables even the most complex software design problems to be solved using Ada’s analyzable, reliable and maintainable capabilities.
Citation
Gustavo A. Hoffmann, Robert A. Duff, Franco Gasperoni, Gary Dismukes, Patrick Rogers, Robert Dewar, and Patrick Rogers. Advanced Journey With Ada: A Flight In Progress. AdaCore, 2023. https://learn.adacore.com/courses/advanced-ada/index.html.
Licensing
This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license. The full text of the license is available at https://creativecommons.org/licenses/by/4.0/.
Download

