www.wikidata.de-de.nina.az
Ada ist eine strukturierte Programmiersprache mit statischer Typenbindung Sie wurde von Jean Ichbiah fur das Unternehmen Honeywell Bull in den 1970er Jahren entworfen Ada ist vom Erscheinungsbild ahnlich zur Programmiersprache Pascal Benannt wurde die Sprache nach Ada Lovelace 1815 1852 der Tochter von Lord Byron und Mitarbeiterin von Charles Babbage die auch als erste Programmiererin bezeichnet wird AdaBasisdatenParadigmen imperativ strukturiert objektorientiertErscheinungsjahr 1980Designer Jean Ichbiah S Tucker Taft 1 2 Entwickler Jean IchbiahTypisierung statisch explizit starkWichtige Implementierungen GNATStandardisierungen ANSI MIL STD 1815 1983 ISO 8652 1995 Ada 2005 Ada 2012Beeinflusst von Algol 68 Pascal Modula 2 C JavaBeeinflusste C Eiffel PL SQL Ruby VHDL Seed7www adaic org Inhaltsverzeichnis 1 Uberblick 2 Fahigkeiten der Sprache 3 Programmverifikation mit SPARK 4 Programmierwerkzeuge 5 Geschichte 6 Hallo Welt in Ada 7 Siehe auch 8 Literatur 8 1 Englisch 8 2 Referenzen 9 Weblinks 10 EinzelnachweiseUberblick BearbeitenAda wurde anfanglich stark vom US Verteidigungsministerium gefordert und unterstutzt Wie alle von ISO standardisierte Sprachen wird sie in regelmassigen Abstanden uberarbeitet Mit Veroffentlichung eines neuen Standards verliert der vorige seine Gultigkeit Daher gibt es nur eine Sprache Ada nur zur Unterscheidung der Generationen werden diese informell als Ada 83 die erste standardisierte Generation Ada 95 Ada 2005 und Ada 2012 bezeichnet Die nachste Generation ist im Wesentlichen abgeschlossen und wird vorlaufig als Ada 202X bezeichnet Ada Compiler werden gewohnlich einer Validierung unterzogen der Ada Conformity Assessment Test Suite ACATS die praktisch Grundvoraussetzung fur den professionellen Einsatz ist ACATS ist ebenfalls ein ISO Standard Aufgrund der hohen Anforderungen die validierte Compiler erfullen mussen hat Ada 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 Bis auf einzelne Ausnahmen verweigert sich die Automobilindustrie ihrer Verwendung Fahigkeiten der Sprache Bearbeiten nbsp Ada LovelaceAda war ursprunglich gedacht als allgemeine Programmiersprache die die Vielzahl von Programmiersprachen im amerikanischen Verteidigungsministerium ersetzen sollte Heute wird sie meist fur eingebettete embedded und Echtzeit Systeme real time systems verwendet Herausragende Merkmale von Ada sind etwa das strenge Typsystem starke Typisierung mit fehlerrobuster Syntax das zahlreiche Prufungen schon zur Ubersetzungszeit erlaubt Nebenlaufigkeit Ausnahmebehandlung und generische Programmierung Ada 95 fuhrte sogenannte tagged types erweiterbare Typen ein die das Ada zugrundeliegende Konzept des Programmieren durch Erweiterung weiter ausbauen und dynamische Polymorphie ermoglichen Implementierungen von Ada benutzen ublicherweise keine automatische Speicherbereinigung garbage collection zur Speicherverwaltung da diese das Echtzeitverhalten empfindlich storen wurde der Standard verbietet dies jedoch nicht Ada unterstutzt Laufzeittests um Speicheruberlaufe Zugriff auf nicht zugewiesenen Speicher off by one Fehler und andere ahnlich geartete Fehler fruhzeitig zu erkennen Viele dieser Fehler lassen sich jedoch durch richtige Verwendung der Sprachmittel schon wahrend der Programmierung vermeiden oder wahrend der Ubersetzung erkennen Fur eine hohere Effizienz konnen diese Laufzeittests abgeschaltet werden Programmverifikation mit SPARK BearbeitenAuch zur Programmverifikation stehen verschiedene Spracheigenschaften zur Verfugung Mit Ada ist es zum ersten Mal gelungen industriell verwendete Programme automatisch auf Korrektheit zu uberprufen 3 Dazu wird die Sprachvariante SPARK verwendet eine Untermenge von Ada mit Annotationen das sind Kommentare mit spezieller Syntax wie zum Beispiel Vor und Nachbedingungen Die Korrektheit eines SPARK Programms wird mit einem Verifikationsprogramm SPARK Examiner durch statische Analyse der Annotationen uberpruft also vor Ausfuhrung des Programms In den neuesten Sprachgenerationen sind viele dieser Annotationen durch sogenannte Aspekte ersetzt sodass auch der Ubersetzer Nutzen aus ihnen ziehen kann Ziel ist jedoch dass fur diese Aspekte kein Code erzeugt wird sie werden wie die Annotationen vom SPARK Examiner ausgewertet Programmierwerkzeuge BearbeitenFur Ada gibt es den quelloffenen Compiler GNAT unter GP Lizenz Die Firma AdaCore entwickelt die integrierte Entwicklungsumgebung IDE GNAT Programming Studio die in einer freien und einer kommerziellen Version angeboten wird Daruber hinaus bieten verschiedene namhafte Hersteller Compiler mit IDEs fur Ada an 4 5 6 7 8 Ein Plugin fur Eclipse die GNATbench wurde zunachst in der kommerziellen Version GNATpro vertrieben ist mittlerweile aber auch unter einer GPL verfugbar Daneben gibt es einige kleinere IDEs die Ada unterstutzen und sich vor allem fur die Lehre eignen zum Beispiel jGRASP oder unter Windows das bekannte AdaGIDE Ausserdem existiert ein Emacs Mode fur Ada Geschichte BearbeitenIn den 1970ern zeigte sich das Verteidigungsministerium der Vereinigten Staaten besorgt uber die wachsende Anzahl von Programmiersprachen die in seinen Projekten verwendet wurden Wartung Ausbildung Modularitat und Wiederverwendung waren dadurch schwer beeintrachtigt Viele der Programmiersprachen waren zudem proprietar man war also vom Anbieter abhangig oder schlicht veraltet 1975 sollte eine Arbeitsgruppe diesen Dschungel lichten und eine Sprache finden oder erfinden welche die Bedingungen des Ministeriums erfullt Eine Reihe von Anforderungskatalogen bezeichnet als Strawmann Woodenman Tinman Ironman und Steelman daneben fur eine integrierte Entwicklungsumgebung die Dokumente Sandman nicht veroffentlicht Pebbleman und Stoneman wurden erstellt und viele existierende Sprachen daraufhin uberpruft doch 1977 kam man zum Ergebnis dass keine der vorhandenen Sprachen geeignet war Nach einer Ausschreibung kamen vier Kandidaten in die nahere Auswahl Red Green Blue und Yellow genannt und im Mai 1979 entschied man sich fur Green von Jean Ichbiah welches dann auf den Namen Ada getauft wurde Die ursprungliche Beschreibung wurde am 10 Dezember 1980 gebilligt dem Geburtstag von Ada Lovelace Der Standard erhielt die Bezeichnung MIL STD 1815 da 1815 ihr Geburtsjahr war Die erste Implementierung fand unter Multics statt Im Februar 1983 wurde die Sprache zu einer ANSI Norm ANSI MIL STD 1815A die ISO ubernahm 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 Juni 2001 wurde die erste technische Korrektur gemass den Statuten der ISO als ISO IEC 8652 1995 Cor 1 2001 angenommen Weitere Uberarbeitungen sind Marz 2007 ISO IEC 8652 1995 AMD 1 2007 informell Ada 2005 ISO IEC 8652 2012 informell Ada 2012 und der aktuelle Standard ISO IEC 8652 2012 Cor 1 2016 Eine neue Version arbeitstechnisch Ada 202X genannt ist kurz vor Vollendung Nach der Einfuhrung Adas 1983 fiel die Anzahl der verwendeten Programmiersprachen im Verantwortungsbereich des US amerikanischen Verteidigungsministeriums bis 1996 von uber 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 haufig Ausnahmen genehmigt In vielen anderen Staaten der NATO wurden ahnliche Vorschriften erlassen Um die Verbreitung des Standards und der Sprache allgemein zu unterstutzen finanzierte die US Air Force die Entwicklung des kostenfreien GNAT Compilers Die auf Sicherheit ausgelegten Spracheigenschaften von Ada alleine konnen Fehler nicht verhindern Ariane V88 die erste Ariane 5 ging im Juni 1996 samt Nutzlast verloren unter anderem weil ein arithmetischer Uberlauf auftrat und fur die vom Compiler generierte Ausnahme keine angemessene Ausnahmebehandlung implementiert worden war Entgegen Bertrand Meyers Behauptung hatte auch die von ihm entwickelte Programmiersprache Eiffel den Verlust der Rakete nicht verhindert 9 Der Grund des Fehlschlags war die ungeprufte Ubernahme eines Codes von Ariane 4 der fur deren Flugprofil ausgelegt war Im April 2008 kam Ada 2005 wieder in die Schlagzeilen nachdem Lockheed Martin ein Update zum Flugsicherungssystem der Federal Aviation Administration vor der vereinbarten Lieferzeit und unter dem erwarteten Budget abgeliefert hatte 10 Hallo Welt in Ada BearbeitenDas Hallo Welt Programm in Ada with Ada Text IO procedure Hallo is begin Ausgabe des Textes Hallo Welt Ada Text IO Put Line Hallo Welt end Hallo Siehe auch BearbeitenGNAT GNU Ada Compiler GNAT Programming Studio GPS Ada Conformity Assessment Test Suite ACATS Literatur BearbeitenManfred 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 Bearbeiten John Barnes Programming in Ada 2012 ISBN 978 1 107 42481 4 Simon Johnston Ada 95 for C and C Programmers N H Cohen Ada as a Second language sehr ausfuhrlich A Burns und A Wellings Concurrency in Ada Nell Dale Chip Weems amp John W McCormick Programming and Problem Solving with Ada 95 2 Ausgabe ISBN 978 0 7637 0792 7 Referenzen Bearbeiten Ada 2012 Language Reference Manual LRM Rationale for Ada 2012Weblinks Bearbeiten nbsp Wikibooks Programming Ada Lern und Lehrmaterialien englisch comp lang ada Newsgroup A Ada fur NET Mono Steelman On Line Ada C C and Java vs The Steelman Modula 3 and AdaTutorial Ada Vorlesungsskript Memento vom 28 September 2007 im Internet Archive PDF 1 4 MB Vorlesungsskript mit Aufgaben Losungen Memento vom 28 September 2007 im Internet Archive PDF 88 kB Beispielprogrammen Memento vom 28 September 2007 im Internet Archive Beuth Hochschule fur Technik Berlin Prof Dr Grude 1 30 MB ZIP Ada 95 The Craft of Object Oriented Programming PDF 1 4 MB Online Buch von John English The Big Online Book of Linux Ada Programming Online Buch von Ken O BurtchReferenz und Glossar Ada Reference Manual freie Ada 95 Online Referenz Javier Miranda A Detailed Description of the GNU Ada Run Time 2002Einzelnachweise Bearbeiten www adahome com blog adacore com John Barnes High integrity software the SPARK approach to safety and security Pearson Education Boston Mass 2003 ISBN 0 321 13616 0 Aonix ObjectAda Product Atego Nicht mehr online verfugbar In atego com Archiviert vom Original am 6 August 2013 abgerufen am 17 Oktober 2011 englisch AdaMULTI IDE In ghs com Abgerufen am 17 Oktober 2011 englisch DDC I Ada Compilers In adacompiler com Abgerufen am 17 Oktober 2011 englisch IBM Software Ada Developer Product Line In ibm com Abgerufen am 17 Oktober 2011 englisch XD ADA Nicht mehr online verfugbar In swep eds com Archiviert vom Original am 9 Mai 2014 abgerufen am 17 Oktober 2011 englisch Ken Garlington Critique of Put it in the contract The lessons of Ariane Nicht mehr online verfugbar In lore ua ac be 7 August 1997 archiviert vom Original am 3 November 2011 abgerufen am 14 Oktober 2011 englisch Joab Jackson The return of Ada Nicht mehr online verfugbar In gcn com Archiviert vom Original am 11 August 2011 abgerufen am 17 Oktober 2011 englisch Normdaten Sachbegriff GND 4000430 2 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Ada Programmiersprache amp oldid 237666546