Search in: Word
Vietnamese keyboard: Off
Virtual keyboard: Show
Computing (FOLDOC) dictionary (also found in English - English (Wordnet), )
Ada
Jump to user comments
language (After Ada Lovelace) A Pascal-descended
language, designed by Jean Ichbiah's team at CII Honeywell
in 1979, made mandatory for Department of Defense software
projects by the Pentagon. The original language was
standardised as "Ada 83", the latest is "Ada 95".
Ada is a large, complex, block-structured language aimed
primarily at embedded applications. It has facilities for
real-time response, concurrency, hardware access and
reliable run-time error handling. In support of large-scale
software engineering, it emphasises strong typing, dataabstraction and encapsulation. The type system uses nameequivalence and includes both subtypes and derived types.
Both fixed and floating-point numerical types are supported.
Control flow is fully bracketed: if-then-elsif-end if,
case-is-when-end case, loop-exit-end loop, goto. Subprogram
parameters are in, out, or inout. Variables imported from
other packages may be hidden or directly visible. Operators
may be overloaded and so may enumeration literals. There
are user-defined exceptions and exception handlers.
An Ada program consists of a set of packages encapsulating
data objects and their related operations. A package has a
separately compilable body and interface. Ada permits
generic packages and subroutines, possibly parametrised.
Ada support single inheritance, using "tagged types" which
are types that can be extended via inheritance.
Ada programming places a heavy emphasis on multitasking.
Tasks are synchronised by the rendezvous, in which a task
waits for one of its subroutines to be executed by another.
The conditional entry makes it possible for a task to test
whether an entry is ready. The selective wait waits for
either of two entries or waits for a limited time.
Ada is often criticised, especially for its size and
complexity, and this is attributed to its having been designed
by committee. In fact, both Ada 83 and Ada 95 were designed
by small design teams to be internally consistent and tightly
integrated. By contrast, two possible competitors, Fortran90 and C++ have both become products designed by large and
disparate volunteer committees.
See also Ada/Ed, Toy/Ada.