All Topics  
Ada (programming language)

 
Ada (programming Language)

   Email Print
   Bookmark   Link






 

Ada (programming language)



 
 
Ada is a structured
Structured programming

Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO Statement ....
, statically typed, imperative
Imperative programming

In computer science, imperative programming is a programming paradigm that describes computation in terms of statement s that change a program state ....
, and object-oriented
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 high-level computer
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
 programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
, extended from Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
 and other languages. It was originally designed by a team led by Jean Ichbiah
Jean Ichbiah

Jean David Ichbiah was a France-born computer scientist and the chief designer of Ada programming language, a general-purpose, strongly-typed programming language with certified validated compilers....
 of CII Honeywell Bull
Groupe Bull

Groupe Bull is a France owned computer company headquartered in Les Clayes-sous-Bois, outside Paris. The company has also been known at various times as Bull General Electric, Honeywell Bull, CII Honeywell Bull, and Bull HN....
 under contract to the United States Department of Defense
United States Department of Defense

The United States Department of Defense is the federal department charged with coordinating and supervising all agencies and functions of the government relating directly to national security and the Military of the United States....
 (DoD) from 1977 to 1983 to supersede the hundreds of programming languages then used by the DoD. Ada is strongly typed and compilers are validated for reliability in mission-critical applications, such as avionics
Avionics

Avionics means "aviation electronics". It comprises Electronics systems for use on aircraft, artificial satellites and spacecraft, comprising communications, navigation and the display and management of multiple systems....
 software.






Discussion
Ask a question about 'Ada (programming language)'
Start a new discussion about 'Ada (programming language)'
Answer questions from other users
Full Discussion Forum



Recent Posts









Encyclopedia


Ada is a structured
Structured programming

Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO Statement ....
, statically typed, imperative
Imperative programming

In computer science, imperative programming is a programming paradigm that describes computation in terms of statement s that change a program state ....
, and object-oriented
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 high-level computer
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
 programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
, extended from Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
 and other languages. It was originally designed by a team led by Jean Ichbiah
Jean Ichbiah

Jean David Ichbiah was a France-born computer scientist and the chief designer of Ada programming language, a general-purpose, strongly-typed programming language with certified validated compilers....
 of CII Honeywell Bull
Groupe Bull

Groupe Bull is a France owned computer company headquartered in Les Clayes-sous-Bois, outside Paris. The company has also been known at various times as Bull General Electric, Honeywell Bull, CII Honeywell Bull, and Bull HN....
 under contract to the United States Department of Defense
United States Department of Defense

The United States Department of Defense is the federal department charged with coordinating and supervising all agencies and functions of the government relating directly to national security and the Military of the United States....
 (DoD) from 1977 to 1983 to supersede the hundreds of programming languages then used by the DoD. Ada is strongly typed and compilers are validated for reliability in mission-critical applications, such as avionics
Avionics

Avionics means "aviation electronics". It comprises Electronics systems for use on aircraft, artificial satellites and spacecraft, comprising communications, navigation and the display and management of multiple systems....
 software. Ada is an international standard; the current version (known as Ada 2005) is defined by joint ISO/ANSI standard (), combined with major Amendment .

Ada was named after Ada Lovelace
Ada Lovelace

Augusta Ada King, Countess of Lovelace , born Augusta Ada Byron, was the only legitimate child of George Gordon Byron, 6th Baron Byron. She is widely known in modern times simply as Ada Lovelace....
 (1815–1852), who is often credited as being the first computer programmer.

Features

Ada was originally targeted at embedded
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
 and real-time
Real-time computing

In computer science, real-time computing is the study of Computer hardware and computer software systems that are subject to a "real-time constraint"?i.e., operational deadlines from event to system response....
 systems. The Ada 95 revision, designed by S. Tucker Taft of Intermetrics
Intermetrics

Intermetrics, Inc. was a software company founded in Cambridge, Massachusetts, Massachusetts in 1969 by several veterans of Massachusetts Institute of Technology Charles Stark Draper Laboratory who had worked on the software for NASA's Project Apollo including the Apollo Guidance Computer....
 between 1992 and 1995, improved support for systems, numerical, financial, and object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 (OOP).

Notable features of Ada include: strong typing, modularity mechanisms
Modularity (programming)

Modular programming is a software design technique that increases the extent to which software is composed from separate parts, called modules. Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components....
 (packages), run-time checking
Run-time checking

Runtime checking is a mechanism of a programming language to check for errors at runtime, e.g. arithmetic overflows or invalid Cast . Most times an exception handling is thrown and/or the program is terminated, instead of ignoring this failure as it is done in C , C++ etc....
, parallel processing
Parallel processing

Parallel processing is the ability of an entity to carry out multiple operations or tasks simultaneously. The term is used in the contexts of both human cognition and machine computation....
 (tasks), exception handling
Exception handling

Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions - special conditions that change the normal flow of execution....
, and generic
Generic programming

Generic programming is a style of computer programming in which algorithms are written in terms of to-be-specified-later types that are then instantiated when needed for specific types provided as parameters and was pioneered by Ada which appeared in 1983....
s. Ada 95 added support for object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
, including dynamic dispatch
Dynamic dispatch

In computer science, dynamic dispatch is the process of mapping a Message passing to a specific sequence of code at runtime. This is done to support the cases where the appropriate method cannot be determined at compile-time ....
.

Ada supports run-time checks in order to protect against access to unallocated memory, buffer overflow
Buffer overflow

In computer security and computer programming, a buffer overflow, or buffer overrun, is an Anomaly in software condition where a process attempts to store data beyond the boundaries of a fixed-length buffer ....
 errors, off-by-one error
Off-by-one error

An off-by-one error is a logical error involving the discrete equivalent of a boundary condition. It often occurs in computer programming when an control flow#Loops iterates one time too many or too few....
s, array access errors, and other detectable bugs. These checks can be disabled in the interest of runtime efficiency, but can often be compiled efficiently. It also includes facilities to help program verification. For these reasons, Ada is widely used in critical systems, where any anomaly
Anomaly in software

In software testing an anomaly is anything that differs from expectation. This expectation can result from many things like from a document or from a person's view or experiences ....
 might lead to very serious consequences, i.e., accidental death or injury. Examples of systems where Ada is used include avionics
Avionics

Avionics means "aviation electronics". It comprises Electronics systems for use on aircraft, artificial satellites and spacecraft, comprising communications, navigation and the display and management of multiple systems....
, weapon systems (including thermonuclear weapons), and spacecraft
Spacecraft

A spacecraft is a Craft or machine designed for spaceflight. On a sub-orbital spaceflight, a spacecraft enters outer space then returns to the Earth....
.

Ada also supports a large number of compile-time checks to help avoid bugs that would not be detectable until run-time in some other languages or would require explicit checks to be added to the source code. Ada is designed to detect small problems in very large, massive software systems. For example, Ada detects each misspelled variable (due to the rule to declare each variable name), and Ada pinpoints unclosed if-statements, which require "END IF" rather than mismatching with any "END" token. Also, Ada can spot procedure calls with incorrect parameters, which is a common problem in large, complex software where most of the statements are procedure calls.

Ada's dynamic memory management
Memory management

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed....
 is high-level and type-explicit, requiring explicit instantiation of the Unchecked_Deallocation package to explicitly free allocated memory. The specification does not require any particular implementation. Though the semantics of the language allow automatic garbage collection
Garbage collection (computer science)

In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage , or memory used by Object that will never be accessed or mutated again by the Application software....
 of inaccessible objects, most implementations do not support it. Ada does support a limited form of region-based storage management. Invalid accesses can always be detected at run time (unless of course the check is turned off) and sometimes at compile time.

The syntax of Ada is simple, consistent and readable. It minimizes choices of ways to perform basic operations, and prefers English keywords (eg "OR") to symbols (eg. "||"). Ada uses the basic mathematical symbols (i.e.: "+", "-", "*" and "/") for basic mathematical operations but avoids using other symbols. Code blocks are delimited by words such as "declare", "begin" and "end". Conditional statements are closed with "end if", avoiding a dangling else
Dangling else

The dangling else is a well-known problem in computer programming in which a seemingly well-defined grammar can become ambiguous. In many programming languages you can write code like this:...
 that could pair with the wrong nested if-expression in other languages.

Ada was designed to use the English language standard for comments: the em-dash, as a double-dash ("--") to denote comment text. Comments stop at end of line, so there is no danger of unclosed comments accidentally eating whole sections of source code. Comments can be nested: prefixing each line (or column) with "--" will skip all that code, while being clearly denoted as a column of repeated "--" down the page. There is no limit to the nesting of comments, thereby allowing prior code, with commented-out sections, to be commented-out as even larger sections. All characters are allowed in comments, such as for symbolic formulas (E[0]=m*c^2). To the compiler, the double-dash is treated as end-of-line, allowing continued parsing of the language as a context-free grammar
Context-free grammar

In formal language theory, a context-free grammar is a formal grammar in which every Production rule is of the formwhere V is a single nonterminal symbol, and w is a string of Terminal and nonterminal symbolss and/or nonterminals ....
.

The semicolon (";") is a statement terminator, so Ada avoids the very common problem where ";END" kills a Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
 compilation
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 because ";" is only a Pascal separator, never allowed either to terminate "END;" in Pascal.

Code for complex systems is typically maintained for many years, by programmers other than the original author. It can be argued that these language design principles apply to most software projects, and most phases of software development, but when applied to complex, safety critical projects, benefits in correctness, reliability, and maintainability take precedence over (arguable) costs in initial development.

Unlike most ISO
International Organization for Standardization

The International Organization for Standardization , widely known as ISO , is an international standard-setting body composed of representatives from various national standards organizations....
 standards, the Ada language definition (known as the Ada Reference Manual or ARM, or sometimes the Language Reference Manual or LRM) is free content
Free content

Free content, or free information, is any kind of functional work, Work of art, or other creative Content having no significant legal restriction relative to people's freedom to use, redistribute, and produce modified versions of and works derived from the content....
. Thus, it is a common reference for Ada programmers, not just programmers implementing Ada compilers. Apart from the reference manual, there is also an extensive rationale document which explains the language design and the use of various language constructs. This document is also widely used by programmers. When the language was revised, a new rationale document was written.

One notable Free Software tool that is used by many Ada programmers to aid them in writing Ada source code is GPS, the GNAT Programming Studio
GNAT Programming Studio

GNAT Programming Studio is a free software multi-language integrated development environment by AdaCore. GPS uses compilers from the GNU Compiler Collection, taking its name from GNAT, the GNU compiler for the Ada programming language....
.

History

In the 1970s, the US Department of Defense
United States Department of Defense

The United States Department of Defense is the federal department charged with coordinating and supervising all agencies and functions of the government relating directly to national security and the Military of the United States....
 (DoD) was concerned by the number of different programming languages being used for its embedded computer system projects, many of which were obsolete or hardware-dependent, and none of which supported safe modular programming. In 1975, the High Order Language Working Group
High Order Language Working Group

The High Order Language Working Group was a working group instrumental in developing the Ada computer Computer programming Programming language....
 (HOLWG) was formed with the intent to reduce this number by finding or creating a programming language generally suitable for the department's requirements. The result was Ada. The total number of high-level programming languages in use for such projects fell from over 450 in 1983 to 37 by 1996.

The working group
Working Group

Working Group can mean:*Working group, an interdisciplinary group of researchers; or*Working Group , kennel club designation for certain purebred dog breeds; or...
 created a series of language requirements documents—the Strawman, Woodenman, Tinman, Ironman and Steelman
Steelman language requirements

The Steelman language requirements were a set of requirements which a high-level general-purpose programming language should meet, created by the United States Department of Defense in The Department of Defense Common High Order Language program in 1978....
 documents. Many existing languages were formally reviewed, but the team concluded in 1977 that no existing language met the specifications.

Requests for proposals for a new programming language were issued and four contractors were hired to develop their proposals under the names of Red (Intermetrics
Intermetrics

Intermetrics, Inc. was a software company founded in Cambridge, Massachusetts, Massachusetts in 1969 by several veterans of Massachusetts Institute of Technology Charles Stark Draper Laboratory who had worked on the software for NASA's Project Apollo including the Apollo Guidance Computer....
 led by Benjamin Brosgol), Green (CII Honeywell Bull, led by Jean Ichbiah
Jean Ichbiah

Jean David Ichbiah was a France-born computer scientist and the chief designer of Ada programming language, a general-purpose, strongly-typed programming language with certified validated compilers....
), Blue (SofTech, led by ), and Yellow (SRI International
SRI International

SRI International, founded as Stanford Research Institute, is one of the world's largest contract research institutes. Based in the United States, the trustees of Stanford University established it in 1946 as a center of innovation to support economic development in the region....
, led by Jay Spitzen). In April 1978, after public scrutiny, the Red and Green proposals passed to the next phase. In May 1979, the Green proposal, designed by Jean Ichbiah at CII Honeywell Bull, was chosen and given the name Ada—after Augusta Ada, Countess of Lovelace. This proposal was influenced by the programming language LIS that Ichbiah and his group had developed in the 1970s. The preliminary Ada reference manual was published in ACM SIGPLAN Notices in June 1979. The Military Standard reference manual was approved on December 10, 1980 (Ada Lovelace
Ada Lovelace

Augusta Ada King, Countess of Lovelace , born Augusta Ada Byron, was the only legitimate child of George Gordon Byron, 6th Baron Byron. She is widely known in modern times simply as Ada Lovelace....
's birthday), and given the number MIL-STD-1815 in honor of Ada Lovelace's birth year. In 1981, C. A. R. Hoare
C. A. R. Hoare

Sir Charles Antony Richard Hoare , commonly known as Tony Hoare or C.A.R. Hoare, is a United Kingdom computer science, probably best known for the development in 1960 of Quicksort , one of the world's most widely used sorting algorithms....
 took advantage of his Turing Award
Turing Award

The A. M. Turing Award is given annually by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community....
 speech to criticize Ada for being overly complex and hence unreliable.

Ada Lovelace 1838
In 1987, the US Department of Defense began to require the use of Ada (the Ada mandate) for every software project where new code was more than 30% of result, though exceptions to this rule were often granted. This requirement was effectively removed in 1997, as the DoD began to embrace COTS (commercial off-the-shelf
Commercial off-the-shelf

Commercial, off-the-shelf is a term for Computer software or hardware, generally technology or computer products, that are ready-made and available for sale, lease, or license to the general public....
) technology. Similar requirements existed in other NATO countries.

Because Ada is a strongly typed language, it has been used outside the military in commercial aviation projects, where a software bug can cause fatalities. The fly-by-wire
Aircraft flight control systems

Aircraft flight control systems consist of flight control surfaces, the respective cockpit controls, connecting linkages, and the necessary operating mechanisms to control an aircraft's direction in flight....
 system software in the Boeing 777
Boeing 777

The Boeing 777 is a long-range, Wide-body aircraft twin-engine airliner manufactured by Boeing Commercial Airplanes. The world's largest twinjet and commonly referred to as the "Triple Seven", the aircraft can carry between 283 and 368 passengers in a three-class configuration, and has a range from 5,235 to 9,380 nautical miles ....
 was written in Ada. The Canadian Automated Air Traffic System (completed in year 2000 by ) was written in 1 million lines of Ada (SLOC
Source lines of code

Source lines of code is a software metric used to measure the size of a Computer software by counting the number of lines in the text of the program's source code....
 count). It featured advanced (for the time) distributed processing, a distributed Ada database, and object-oriented design.

Standardization

The language became an ANSI
American National Standards Institute

The American National Standards Institute or ANSI is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States....
 standard in 1983 (), and without any further changes became an ISO standard
International standard

International standards are standards developed by international standards organisations. International standards are available for consideration and use, worldwide....
 in 1987 (ISO-8652:1987). This version of the language is commonly known as Ada 83, from the date of its adoption by ANSI, but is sometimes referred to also as Ada 87, from the date of its adoption by ISO.

Ada 95, the joint ISO/ANSI standard () is the latest standard for Ada. It was published in February 1995, making Ada 95 the first ISO standard object-oriented programming language. To help with the standard revision and future acceptance, the US Air Force funded the development of the GNAT
Gnat

Gnat is a colloquial name for many small insects in the order Diptera and specifically within the suborder Nematocera.The males often assemble together in large mating swarms, particularly at dusk, called a "ghost"....
 Compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
. Presently, the GNAT Compiler is part of the GNU Compiler Collection
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
.

Work has continued on improving and updating the technical content of the Ada programming language. A Technical Corrigendum to Ada 95 was published in October 2001, and a major Amendment, , was published on March 9, 2007. Other related standards include ISO 8651-3:1988 Information processing systems -- Computer graphics -- Graphical Kernel System (GKS) language bindings -- Part 3: Ada

"Hello, world!" in Ada


A common example of a language's syntax
Syntax

In linguistics, syntax is the study of the principles and rules for constructing Sentence s in natural languages. In addition to referring to the discipline, the term syntax is also used to refer directly to the rules and principles that govern the sentence structure of any individual language, as in "the Irish syntax"....
 is the Hello world program
Hello world program

A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
: with Ada.Text_IO;

procedure Hello is begin Ada.Text_IO.Put_Line("Hello, world!"); end Hello;

Ada also provides alternative constructions that are more streamlined.

See also


  • Alphabetical list of programming languages
    Alphabetical list of programming languages

    The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in alphabetical order....
  • SPARK programming language
    SPARK programming language

    SPARK is a Formal semantics of programming languages computer Programming language Programming language based on the Ada programming language, intended to be secure and to support the development of high integrity Computer software used in applications and systems where predictable and highly reliable operation is essential either for reason...
  • VHDL
  • PL/SQL
    PL/SQL

    PL/SQL is Oracle Corporation's proprietary procedural extension to the SQL database programming language, used in the Oracle database. Some other SQL database management systems offer similar extensions to the SQL language....
  • JOVIAL
    JOVIAL

    JOVIAL is a high-order computer programming language similar to ALGOL, but specialized for the development of embedded systems.JOVIAL is an acronym for "Jules Own Version of the International Algorithmic Language." The "International Algorithmic Language" part of the name is from ALGOL, which was original...
  • Ravenscar profile
    Ravenscar profile

    The Ravenscar profile is a subset of the Ada programming language tasking features designed for safety-critical hard real-time systems....
  • Comparison of programming languages
    Comparison of programming languages

    Programming languages are used for controlling the behavior of a machine . Like natural languages, programming languages conform to rules for syntax and semantics....


International Standards

  • ISO/IEC 8652
    ISO 8652

    ISO 8652 is the international standard for the computer programming language Ada programming language .It was produced by the Ada Working Group, ISO/IEC JTC1/SC 22/WG 9, of the International Organization for Standardization ....
    : Information technology—Programming languages—Ada
  • ISO/IEC 15291: Information technology—Programming languages—Ada Semantic Interface Specification (ASIS)
  • ISO/IEC 18009: Information technology—Programming languages—Ada: Conformity assessment of a language processor (ACATS)
  • IEEE Standard 1003.5b-1996, the POSIX
    POSIX

    POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
     Ada binding
  • , the CORBA
    Çorba

    Chorba , shurpa , sorpa , or shorpo is one of various kinds of soup or stew found in national cuisines across Eurasia. The term is likely of Persian language or Turkic languages origin....
     IDL
    Interface description language

    An interface description language , or IDL for short, is a specification language used to describe a software component's Interface . IDLs describe an interface in a language-neutral way, enabling communication between software components that do not share a language – for example, between components written in C++ and components...
     to Ada mapping


Rationale

(These documents have been published in various forms including print.)


Books

  • Jan Skansholm: Ada 95 From the Beginning, Addison-Wesley, ISBN 0-201-40376-5
  • Geoff Gilpin: Ada: A Guided Tour and Tutorial, Prentice hall, ISBN 978-0-13-004045-9
  • John Barnes
    John Barnes (computer scientist)

    John Gilbert Presslie Barnes is a United Kingdom computer scientist best known for his role in developing and publicising the Ada programming language....
    : Programming in Ada 2005, Addison-Wesley, ISBN 0-321-34078-7
  • John Barnes
    John Barnes (computer scientist)

    John Gilbert Presslie Barnes is a United Kingdom computer scientist best known for his role in developing and publicising the Ada programming language....
    : Programming in Ada plus Language Reference Manual, Addison-Wesley, ISBN 0-201-56539-0
  • John Barnes
    John Barnes (computer scientist)

    John Gilbert Presslie Barnes is a United Kingdom computer scientist best known for his role in developing and publicising the Ada programming language....
    : Programming in Ada 95, Addison-Wesley, ISBN 0-201-34293-6
  • John Barnes
    John Barnes (computer scientist)

    John Gilbert Presslie Barnes is a United Kingdom computer scientist best known for his role in developing and publicising the Ada programming language....
    : High Integrity Ada: The SPARK Approach, Addison-Wesley, ISBN 0-201-17517-7
  • John Barnes
    John Barnes (computer scientist)

    John Gilbert Presslie Barnes is a United Kingdom computer scientist best known for his role in developing and publicising the Ada programming language....
    : High Integrity Software: The SPARK Approach to Safety and Security, Addison-Wesley, ISBN 0-321-13616-0
  • John Beidler: Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95, Springer-Verlag, ISBN 0-387-94834-1
  • Dean W. Gonzalez
    Dean W. Gonzalez

    Dean Gonzalez the son of Ivy Gonzalez of Newfoundland and Labrador, Canada and Carmelo Gonzalez of Puerto Rico. Dean Gonzalez is the co-author of "Introduction to Ada programming language for Programmers" along with David A....
    : Ada Programmer's Handbook, Benjamin-Cummings Publishing Company, ISBN 0-8053-2529-8
  • M. Ben-Ari
    M. Ben-Ari

    Mordechai Ben-Ari is a computer science professor known for his involvement in the Ada .M. Ben-Ari is the author of the humorous "Principles of Concurrent Programming" which features igloos, eskimos, Dining philosophers problem, Sleeping barber problem etc....
    : Ada for Software Engineers, John Wiley & Sons, ISBN 0-471-97912-0
  • Norman Cohen: Ada as a Second Language, McGraw-Hill Science/Engineering/Math, ISBN 0-07-011607-5
  • Alan Burns
    Alan Burns

    Professor Alan Burns is a professor in the Computer Science Department at the University of York. He has been at the University of York since 1990, and held the post of Head of Department from 1999 until 30 June 2006, when he was succeeded by John McDermid....
    , Andy Wellings
    Andy Wellings

    Andy Wellings is a professor in the Computer Science department at the University of York in northern England. He works closely with Alan Burns on Real-time computing systems, distributed, concurrent and real-time programming languages....
    : Real-Time Systems and Programming Languages. Ada 95, Real-Time Java and Real-Time POSIX., Addison-Wesley, ISBN 0-201-72988-1
  • Alan Burns
    Alan Burns

    Professor Alan Burns is a professor in the Computer Science Department at the University of York. He has been at the University of York since 1990, and held the post of Head of Department from 1999 until 30 June 2006, when he was succeeded by John McDermid....
    , Andy Wellings
    Andy Wellings

    Andy Wellings is a professor in the Computer Science department at the University of York in northern England. He works closely with Alan Burns on Real-time computing systems, distributed, concurrent and real-time programming languages....
    : Concurrency in Ada, Cambridge University Press, ISBN 0-521-62911-X
  • Colin Atkinson
    Colin Atkinson

    Colin Ronald Michael Atkinson Order of the British Empire - Cricketer, schoolmaster & headmaster of Millfield School. Atkinson was married to Shirley and they had three children: David, Sally and Jonny ....
    : Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach, Addison-Wesley, ISBN 0-201-56527-7
  • Grady Booch
    Grady Booch

    File:GradyBooch.gif Grady Booch is an American software engineer, and Chief Scientist, Software Engineering in IBM Research. Booch is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh....
    , Doug Bryan: Software Engineering with Ada, Addison-Wesley, ISBN 0-8053-0608-0
  • Daniel Stubbs, Neil W. Webre: Data Structures with Abstract Data Types and Ada, Brooks Cole, ISBN 0-534-14448-9
  • Pascal Ledru: Distributed Programming in Ada with Protected Objects, Dissertation.com, ISBN 1-58112-034-6
  • Fintan Culwin: Ada, a Developmental Approach, Prentice Hall, ISBN 0-13-264680-3
  • John English
    John English

    John Richard English, Order of Canada, Royal Society of Canada is a Canada academic who has also been veryactive in Canadian public life.A native of Plattsville, Ontario, he received a Bachelor of Arts degree in 1967 from the University of Waterloo, a A.M....
    , Fintan Culwin: Ada 95 the Craft of Object Oriented Programming, Prentice Hall, ISBN 0-13-230350-7
  • David A. Wheeler
    David A. Wheeler

    David A. Wheeler is a computer scientist . He is best known for his work on Open source software/Free software and Computer security....
    : Ada 95, Springer-Verlag, ISBN 0-387-94801-5
  • David R. Musser, Alexander Stepanov
    Alexander Stepanov

    Alexander Stepanov is the key person behind the C++ Standard Template Library, which he started to develop around 1993 while employed at HP Labs....
    : The Ada Generic Library: Linear List Processing Packages, Springer-Verlag, ISBN 0-387-97133-5
  • Michael B. Feldman: Software Construction and Data Structures with Ada 95, Addison-Wesley, ISBN 0-201-88795-9
  • Simon Johnston: Ada 95 for C and C++ Programmers, Addison-Wesley, ISBN 0-201-40363-3
  • Michael B. Feldman, Elliot B. Koffman: Ada 95, Addison-Wesley, ISBN 0-201-36123-X
  • Nell Dale, Chip Weems, John McCormick: Programming and Problem Solving with Ada 95, Jones & Bartlett Publishers, ISBN 0-7637-0293-5
  • Nell Dale, John McCormick
    John McCormick

    John McCormick is a professor of political science at Indiana University Purdue University Indianapolis, and was department chair from 2001 until 2008....
    : Ada Plus Data Structures: An Object-Oriented Approach, 2nd edition, Jones & Bartlett Publishers, ISBN 0-7637-3794-1
  • Bruce C. Krell: Developing With Ada: Life-Cycle Methods, Bantam Dell Pub Group, ISBN 0-553-09102-6
  • Judy Bishop: Distributed Ada: Developments and Experiences, Cambridge University Press, ISBN 0-521-39251-9
  • Bo Sanden: Software Systems Construction With Examples in Ada, Prentice Hall, ISBN 0-13-030834-X
  • Bruce Hillam: Introduction to Abstract Data Types Using Ada, Prentice Hall, ISBN 0-13-045949-6
  • David Rudd: Introduction to Software Design and Development With Ada, Brooks Cole, ISBN 0-314-02829-3
  • Ian C. Pyle: Developing Safety Systems: A Guide Using Ada, Prentice Hall, ISBN 0-13-204298-3
  • Louis Baker: Artificial Intelligence With Ada, McGraw-Hill, ISBN 0-07-003350-1
  • Alan Burns
    Alan Burns

    Professor Alan Burns is a professor in the Computer Science Department at the University of York. He has been at the University of York since 1990, and held the post of Head of Department from 1999 until 30 June 2006, when he was succeeded by John McDermid....
    , Andy Wellings
    Andy Wellings

    Andy Wellings is a professor in the Computer Science department at the University of York in northern England. He works closely with Alan Burns on Real-time computing systems, distributed, concurrent and real-time programming languages....
    : HRT-HOOD: A Structured Design Method for Hard Real-Time Ada Systems, North-Holland, ISBN 0-444-82164-3
  • Walter Savitch, Charles Peterson: Ada: An Introduction to the Art and Science of Programming, Benjamin-Cummings Publishing Company, ISBN 0-8053-7070-6
  • Mark Allen Weiss: Data Structures and Algorithm Analysis in Ada, Benjamin-Cummings Publishing Company, ISBN 0-8053-9055-3
  • Henry Ledgard: ADA: AN INTRODUCTION (Second Edition), Springer-Verlag, ISBN 0-387-90814-5


Archives

  • . Charles Babbage Institute, University of Minnesota, Minneapolis.


External links