Article | REF: H2280 V2

Ada

Author: Fabrice KORDON

Publication date: August 10, 2017

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

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 article

AUTHOR

 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...

You do not have access to this resource.

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

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

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

Subscribe now!

Ongoing reading
Ada