Overview
ABSTRACT
This article provides a summary of Ada in its current state (2017). After briefly describing its original inception and its history, we focus on its main characteristics: a flexible typing mechanism that can be configured (especially for numeric representations), a built-in smart compilation mechanism, a concurrency model (mainly thread-oriented, but also usable for distributed computing via annex E), a genericity model (which inspired Java), and an object model.
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHOR
-
Fabrice KORDON: Professor at Pierre & Marie Curie University
INTRODUCTION
The result of a project launched by the U.S. Department of Defense, the Ada language was built as an ideal language for large-scale projects. However, Ada's complexity has hindered its development and use in smaller projects.
The ambitions of the Ada language were high, since the idea was to replace all the languages used by the U.S. Department of Defense at the time. The language was also to be portable (backward compatibility has been maintained in successive revisions) and aimed for universality of application, offering a vast array of mechanisms for building embedded systems as well as scientific computing programs. This characteristic is still confirmed today by the numerous appendices dedicated to the various application domains targeted.
Particular emphasis was placed on support for parallelism (the notion of tasks in 1983, then of protected objects in 1995) and modularity (the notion of packages as early as 1983). The first version also introduced a highly advanced genericity mechanism which, twenty years later, would serve as a model for that proposed in Java (albeit with different implementation mechanisms). The first version of the language was not object-oriented (although it is said to have been "object-based", with certain concepts already present in the notion of packages). The 1995 revision introduced this notion, albeit with non-standard terminology (a class is defined as a "tagged type"), which didn't exactly promote it.
Ada is strongly typed, inspired by languages such as Pascal. Type constraints must be resolved at compile time. This is an important feature of Ada, whose philosophy can be summed up as "if it compiles, a lot of the processing problems are solved". Static typing control at compile time is supplemented by code inserted by the compiler to test all expressions at runtime. In this way, if problems persist that cannot be checked at compile time (e.g. integer overflow or array index overflow), they are caught at runtime exactly when they occur, rather than by observing the effects of the problem. A fairly sophisticated exception mechanism can be used to signal such problems (using dedicated predefined exceptions).
Finally, compiler conformity has always been checked by means of comprehensive test sets that determine the behavior (normal and in the event of errors) of compilers: ACVC (Ada Compiler Validation Capability) and, since 1999, ACATS (Ada Conformity Assessment Test Suite). Any Ada compiler can only claim to be an Ada compiler once it has passed this conformity test. Such a procedure was introduced with Ada, since it was the first language to be standardized by ISO.
You can't judge a language without a minimum knowledge of it. In this article, we'll confine...
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference
KEYWORDS
Computer | programming language | ADA
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
Ada
Bibliography
- (1) - - "Ada Programming", Wiki Books https://en.wikibooks.org/wiki/Ada_Programming .
- (2) - - "Ada Reference Manual",
Standards
- Langage de programmation Ada. - ISO/CEI 8652 - 2012
Websites
ADA – Europe Conference
ADA Conformity Assessment Authority
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference