Ada (programming language)

Ada is a structured programming language with static type binding. It was designed by Jean Ichbiah by the company Honeywell Bull in the 1970s. Ada is the appearance similar to the Pascal programming language and is to be regarded just as Modula -2 as Wirthsche language. Just as Modula Ada is also strict in programming as Pascal.

Ada was initially strongly supported by the U.S. Department of Defense and supported. It was the first standardized high-level language. The three major versions are Ada 83 ( the first standardized Ada, the first just Ada was said, but was later called to distinguish from the successor to Ada 83), Ada 95, which adds a number of new language features and Ada 2005 ( also known as Ada 05 known ), the standardization process was completed in 2007. Ada compiler may undergo a standardized test (validation), which is practically a prerequisite for professional use. Due to the high demand, the need to meet validated compiler, it has prevailed, especially in safety-critical areas, for example in air traffic control, security facilities of the railroad, in weapons systems, aerospace, medicine or control of nuclear power plants.

It was named after Lady Ada Lovelace, the language (1815-1852), the daughter of Lord Byron and collaborator of Charles Babbage. The correct spelling is therefore Ada and not, as is sometimes used ADA. Because of their written comments to the mechanical calculating machine Analytical Engine Ada Lovelace is also referred to as the first computer programmer.

Capabilities of the language

Ada was originally targeted at embedded ( embedded) and real-time systems (real -time systems) and is still often used for these purposes. Ada 95 - designed by Tucker Taft of Inter Metrics between 1992 and 1995 - improved the possibilities for the design of numerical, system-oriented and bank- economic programs.

Outstanding features of Ada are about the strong type system ( strong typing ), numerous tests during the program runtime, concurrency, exception handling, and generic systems. Ada 95 introduced a so-called tagged types ( extensible types) that expand the Ada underlying concept of programming by extension and will allow dynamic polymorphism.

Implementations of Ada usually use any automatic garbage collection (garbage collection ) for memory management, the standard allows this, however. Ada supports runtime tests, to detect buffer overflows access to unallocated memory off-by -one error, and others of a similar nature errors early and avoid them. For higher efficiency, these tests can be switched off. Also for program verification, various language properties.

With Ada has succeeded for the first time to check programs automatically for correctness. For this purpose, the variant SPARK Ada is being used. This is a subset of Ada special annotations. The correctness of a SPARK program is verified using a verification program ( SPARK Examiner ) by static analysis of the annotations.

Programming Tools

For Ada, there is the open source compiler GNAT GPL license. The company developed AdaCore GNAT Programming Studio IDE, which is offered in a free and a commercial version. In addition, well-known manufacturers offer different compiler with IDE for Ada to. A plugin for Eclipse, which GNATbench, was first marketed in the commercial version GNATpro, but is now also available under a GPL. There are also some smaller IDEs that support Ada and are primarily for teaching, for example, jGRASP, or under Windows, the known AdaGIDE.

In addition, there is a emacs mode for Ada. An Ada plugin for Oracle's integrated development environment (IDE ) Netbeans is in development.

History

In the 1970s, the Ministry of Defense of the United States expressed concern about the growing number of programming languages ​​that were used in his projects. Maintenance, training, modularity and reuse were severely undermined. Many of the programming languages ​​were also proprietary ( they were so dependent on the provider ) or simply outdated. 1975 a working group should clear this jungle and find or invent a language that satisfies the conditions of the ministry. A number of requirements catalogs, called Straw man, Woodenman, Tinman, Ironman and Steelman ( later also Pebbleman and Stoneman for an integrated development environment ), were created and many existing languages ​​were checked, but in 1977 they came to the conclusion that none of the existing languages ​​suitable had.

Following a call for four candidates were shortlisted ( Red, Green, Blue and Yellow called ), and in May 1979 it was decided to Green by Jean Ichbiah, which was then given the name Ada. The original description was approved on December 10, 1980, the birthday of Lady Ada Lovelace. The standard was designated MIL -STD 1815, because 1815 was her year of birth.

After the introduction of Ada 1983, the number of programming languages ​​used was the responsibility of the U.S. Department of Defense to 1996 from more than 450 to 37, the U.S. Department of Defense ago wrote that every software project are written with a share of more than 30% new code in Ada had. This provision was repealed in 1997, also exceptions were often approved. In many other states of NATO similar legislation has been adopted.

In 1983, the language to be an ANSI standard ( ANSI / MIL -STD 1815), the ISO took over in 1987 as the standard ISO 8652: 1987. This version is now known as Ada 83, after the year of the ANSI standardization.

Ada 95, the joint ISO / ANSI standard ISO 8652: 1995 was adopted in February 1995. So Ada was 95 to the first object-oriented programming language with an ISO standard. In September 2000 the first technical correction in accordance with the statutes of the ISO as ISO / IEC 8652:1995 (E) / Cor.1 has been adopted in 2000.

At present, the ISO / ANSI standard ISO 8652: 1995/AMD 1:2007, informal Ada 2005, the current standard.

To support the dissemination of standards and the language in general, funded the U.S. Air Force, the development of the free GNAT compiler.

The systems designed to safety properties of Ada language alone obviously can not prevent errors: An Ariane 5 ESA went on their first flight in June 1996 by an arithmetic overflow lost because the corresponding compiler internal test had been turned off. However, this was not the fault of the programming language: The management of software development teams had requested code that had been written for Ariane 4 (and there also functioned correctly ) to adopt without further review of conditions. Since Ariane 5 flight profile had another as Ariane 4, had to fail this approach.

Nevertheless, this event did not reduce the popularity of Ada, even after Bertrand Meyer explained, with the Eiffel programming language developed by him would be the error does not happen.

In April 2008 Ada2005 came back in the headlines after Lockheed Martin had delivered an update on the air traffic control system of the Federal Aviation Administration before the delivery period and the expected budget.

Hello World in Ada

The popular Hello world program in Ada:

With Ada.Text_IO;   procedure Hello is begin      - Output the text " Hello, World! ".      Ada.Text_IO.Put_Line ("Hello, World! "); Hi end; see also

  • GNAT - GNU Ada compiler
  • GNAT Programming Studio ( GPS) - integrated programming environment
  • Ada Conformity Assessment Test Suite ( ACATS )
28250
de