Ada 95

Ada 95

Ada ist eine strukturierte Programmiersprache mit statischer Typenbindung. Sie wurde von Jean Ichbiah von der Firma Honeywell Bull in den 1970er Jahren entworfen. Ada ist von seiner Struktur ähnlich zur Programmiersprache Pascal und ist genauso wie Modula-2 als Wirth'sche Sprache zu betrachten. Ebenso wie Modula ist Ada aber auch strenger in der Programmierung als Pascal.

Ada wurde anfänglich stark vom US-Verteidigungsministerium gefördert und unterstützt. Es war die erste standardisierte Hochsprache. Die zwei gängigen Versionen sind Ada 83 (das erste standardisierte Ada, das zunächst einfach nur Ada hieß, aber später zur Abgrenzung vom Nachfolger Ada 83 genannt wurde) und Ada 95, das um zahlreiche neue Sprachmittel erweitert wurde. Eine neue Version wurde unter dem Namen Ada 2005 entwickelt. Ada-Compiler können sich einem standardisierten Test (Validierung) unterziehen, der praktisch Grundvoraussetzung für den professionellen Einsatz ist. Aufgrund der hohen Anforderung, die validierte Compiler erfüllen müssen, hat sie sich vor allem in sicherheitskritischen Bereichen durchgesetzt, zum Beispiel in der Flugsicherung, in Sicherheits-Einrichtungen der Eisenbahn, in Waffensystemen, der Raumfahrt, der Medizin, oder der Steuerung von Kernkraftwerken.

Benannt wurde die Sprache nach Lady Ada Lovelace (1815–1852), der Tochter von Lord Byron und Mitarbeiterin von Charles Babbage. Die richtige Schreibweise ist daher „Ada“ und nicht, wie gelegentlich verwendet, „ADA“. Wegen ihrer schriftlichen Kommentare zur mechanischen Rechenmaschine Analytical Engine wird Ada Lovelace auch als „erste Programmiererin“ bezeichnet.

Lady Ada Lovelace

Inhaltsverzeichnis

Fähigkeiten der Sprache

Ada zielte ursprünglich auf eingebettete (embedded) und Echtzeit-Systeme (real-time) und wird auch heute noch meist für diese Zwecke verwendet. Ada 95 – von Tucker Taft von Intermetrics zwischen 1992 und 1995 entworfen – verbesserte die Möglichkeiten zum Entwurf numerischer, systemnaher und bankwirtschaftlicher Programme.

Herausragende Merkmale von Ada sind etwa das strenge Typsystem (starke Typisierung), zahlreiche Prüfungen zur Programmlaufzeit, parallele Verarbeitung, Ausnahmebehandlung und generische Systeme. Mit Ada 95 wurde auch die Objektorientierte Programmierung und dynamische Polymorphie unterstützt, wenn auch in einer für die meisten Programmierer ungewohnten Syntax.

Implementierungen von Ada benutzen üblicherweise keine automatische Speicherbereinigung (garbage collection) zur Speicherverwaltung, der Standard erlaubt dies jedoch. Ada unterstützt Laufzeittests, um Speicherüberläufe, Zugriff auf nicht zugewiesenen Speicher, off-by-one-Fehler und andere, ähnlich geartete Fehler frühzeitig zu erkennen und zu vermeiden. Für eine höhere Effizienz können diese Tests abgeschaltet werden. Auch zur Programmverifikation stehen verschiedene Spracheigenschaften zur Verfügung.

Doch solche Spracheigenschaften alleine können offensichtlich Fehler nicht verhindern: Eine Ariane 5 der ESA ging bei ihrem ersten Flug im Juni 1996 durch einen arithmetischen Überlauf verloren, weil der entsprechende Test ausgeschaltet worden war. Allerdings war das nicht die Schuld der Programmiersprache: Das Management des Softwareentwicklerteams hatte verlangt, Code, der für Ariane 4 geschrieben worden war (und dort auch korrekt funktionierte), ohne weitere Überprüfung der Voraussetzungen zu übernehmen. Da Ariane 5 ein anderes Flugprofil besaß als Ariane 4, musste dieses Vorgehen scheitern.

Mit Ada ist es auch zum ersten Mal gelungen, Programme in industrieller Anwendung automatisch auf Korrektheit zu überprüfen. Siehe hierzu das Buch High Integrity Software. The SPARK Approach to Safety and Security von John Barnes. SPARK verwendet hierzu eine Untermenge von Ada, der Code wird mit speziellen Annotationen versehen, die vom SPARK Examiner ausgewertet werden.

Geschichte

In den 1970ern zeigte sich das Verteidigungsministerium der USA besorgt über die wachsende Anzahl von Programmiersprachen, die in seinen Projekten verwendet wurden. Wartung, Ausbildung, Modularität und Wiederverwendung waren dadurch schwer beeinträchtigt. Viele der Programmiersprachen waren zudem proprietär (man war also vom Anbieter abhängig) oder schlicht veraltet. 1975 sollte eine Arbeitsgruppe diesen Dschungel lichten und eine Sprache finden oder erfinden, welche die Bedingungen des Ministeriums erfüllt. Eine Reihe von Anforderungskatalogen wurden erstellt, und viele existierende Sprachen wurden überprüft, doch 1977 kam man zum Ergebnis, dass keine der vorhandenen Sprachen geeignet war.

Nach einer Ausschreibung kamen vier Kandidaten in die nähere Auswahl (Red, Green, Blue und Yellow genannt), und im Mai 1979 entschied man sich für Green von Jean Ichbiah, welches dann auf den Namen Ada getauft wurde. Die ursprüngliche Beschreibung wurde am 10. Dezember 1980 gebilligt, dem Geburtstag von Lady Ada Lovelace. Der Standard erhielt die Bezeichnung MIL-STD 1815, da 1815 ihr Geburtsjahr war.

Nach der Einführung Adas 1983 fiel die Anzahl der verwendeten Programmiersprachen im Verantwortungsbereich des US-amerikanischen Verteidigungsministeriums bis 1996 von über 450 auf 37. Das US-Verteidigungsministerium schrieb vor, dass jedes Softwareprojekt mit einem Anteil von mehr als 30% neuem Code in Ada geschrieben werden musste. Diese Vorschrift wurde 1997 aufgehoben, zudem wurden häufig Ausnahmen genehmigt. In vielen anderen Staaten der NATO wurden ähnliche Vorschriften erlassen.

1983 wurde die Sprache zu einer ANSI-Norm (ANSI/MIL-STD 1815), die ISO übernahm die Norm 1987 als ISO-8652:1987. Diese Version wird heute als Ada 83 bezeichnet, nach dem Jahr der ANSI-Normung.

Ada 95, die gemeinsame ISO/ANSI-Norm ISO-8652:1995 wurde im Februar 1995 angenommen. Damit wurde Ada 95 zur ersten objektorientierten Programmiersprache mit einer ISO-Norm. Im September 2000 wurde die erste technische Korrektur gemäß den Statuten der ISO als ISO/IEC 8652:1995(E)/Cor.1:2000 angenommen.

Zur Zeit ist die ISO/ANSI-Norm ISO-8652:1995/AMD 1:2007, informell Ada 2005, der aktuelle Standard.

Um die Verbreitung des Standards und der Sprache allgemein zu unterstützen, finanzierte die US Air Force die Entwicklung des kostenfreien GNAT-Compilers.

„Hallo Welt“ in Ada

Das beliebte Hallo-Welt-Programm, geschrieben in Ada. Auf Abkürzungen für Ada.Text_IO.Put_Line wurde verzichtet.

with Ada.Text_IO;
 
procedure Hallo is
begin
    Ada.Text_IO.Put_Line("Hallo, Welt!");
end Hallo;

Literatur

  • Manfred Nagl: Softwaretechnik mit ADA 95. Vieweg ISBN 3-528-15583-3
  • Harry Feldmann: Programmieren mit Ada. Vieweg ISBN 3-528-05205-8
  • Annette Weinert: Programmieren mit Ada und C. Vieweg ISBN 3-528-05240-6
  • Diana Schmidt: Erfolgreich Programmieren mit Ada. Springer Verlag ISBN 3-540-57689-4
  • Klaus P. Kratzer: ADA. Hanser Fachbuch ISBN 3-446-16545-2

Englisch

  • John Barnes, Programming in Ada 2005 ISBN 978-0-321-34078-8
  • Simon Johnston, Ada 95 for C and C++ Programmers
  • N.H. Cohen, Ada as a Second language – sehr ausführlich
  • A. Burns und A. Wellings, Concurrency in Ada
  • LNCS, Ada 2005 Reference Manual. Language and Standard Libraries ISBN 3-540-69335-1

Referenzen

(Beide kostenlos über Ada-Deutschland verfügbar, Druckversionen bei Springer)

  • Ada 2005 Language Reference Manual (LRM)
  • Ada 2005 Rationale

Siehe auch

Weblinks

Tutorial:

Refenz und Glossar:


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Ada 83 — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • Ada 95 — Ada (langage) Pour les articles homonymes, voir Ada. Ada Lovelace Ada est un langage de programmation orienté objet dont les prem …   Wikipédia en Français

  • AdA — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Ada peut faire référence à différents concepts. Sommaire 1 Biologie 2 Toponymie …   Wikipédia en Français

  • ADA — steht für: (523) Ada, ein Himmelskörper Ada (Insel), eine zu Montenegro gehörende Insel an der Mündung des Flusses Bojana in die Adria Ada (Orchideen), eine Pflanzengattung der Orchideengewächse Ada (Programmiersprache), eine nach Ada Lovelace… …   Deutsch Wikipedia

  • AdA — steht für: Ada (Asteroid), ein Himmelskörper Ada (Insel), eine zu Montenegro gehörende Insel an der Mündung des Flusses Bojana in die Adria Ada (Orchideen), eine Pflanzengattung der Orchideengewächse Ada (Programmiersprache), eine nach Ada… …   Deutsch Wikipedia

  • Ada — steht für: Ada (Asteroid), ein Himmelskörper Ada (Insel), eine zu Montenegro gehörende Insel an der Mündung des Flusses Bojana in die Adria Ada (Orchideen), eine Pflanzengattung der Orchideengewächse Ada (Programmiersprache), eine nach Ada… …   Deutsch Wikipedia

  • Ada — or ADA may refer to: People * St. Ada, a 7th century French abbess. *Ada, Countess of Atholl (died 1264) * Ada, Countess of Holland * Ada de Warenne, Countess of Northumbria and Huntingdon (d. 1178) * Ada of Caria, satrap deposed by her brother… …   Wikipedia

  • ADA — abbrAmericans with Disabilities Act see also the important laws section Merriam Webster’s Dictionary of Law. Merriam Webster. 1996. ADA …   Law dictionary

  • Ada — Ada, OH U.S. village in Ohio Population (2000): 5582 Housing Units (2000): 1948 Land area (2000): 1.871428 sq. miles (4.846975 sq. km) Water area (2000): 0.000000 sq. miles (0.000000 sq. km) Total area (2000): 1.871428 sq. miles (4.846975 sq. km) …   StarDict's U.S. Gazetteer Places

  • ada — áda (àda) ž <G mn ā> DEFINICIJA reg. riječni otok ONOMASTIKA top. (često ime riječnih otoka u mikrotop. Slavonije): Àda (otok na Savi preko kojega su mostom spojeni Slavonski i Bosanski Brod; otok kod Darde; otok kod Bodalja u Baranji),… …   Hrvatski jezični portal

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”