Überblick
Ada ist eine streng typisierte und sehr umfangreiche compilierte Programmiersprache. Sie wurde ursprünglich vom Department of Defence der USA in Auftrag gegeben. Sie ist deshalb für sicherheitskritische Systeme geeignet und kommt z.B. in der Luft- und Raumfahrt, aber auch in gewöhnlichen Softwareprojekten zum Einsatz.
Ada ist eine prozedurale Sprache, die aber auch Objektorientierung und Generizität beherrscht; zudem forciert sie Information-Hiding (dt.: Kapselung) unter anderem durch ein ausgeprägtes Modulkonzept. Streng typisiert heißt, dass nur Variablen vom explizit gleichen (Sub-)Typ einander zugewiesen werden können. Man kann also z.B. einen Typ Meter und einen Typ Zoll haben, die beide als Float implementiert werden, aber nicht ohne Cast einander zugewiesen werden; dabei nimmt der selbst implementierte Cast dann die nötigen Umrechnungen vor.
Siehe auch SpracheAda, Ada, AugustaAdaByron.
Links
Verschiedene
Wikipedia-Artikel Über die Programmiersprache
http://wwwzenger.informatik.tu-muenchen.de/persons/huckle/bugs.html
Bibliothek anwendungsbezogener Ada Software-Komponenten in Stuttgart
Ada-Homepage
Freie Ada-Compiler
Dokumentation
Vergleich zwischen C/C++, Java und Ada
Newsgroup
- comp.lang.ada
Konvertierer
p2ada konvertiert Pascal nach Ada95
Sonstiges
- Wer keine Lust hat, seine Unix-Shells in Bash oder Perl zu programmieren, kann das auch in Ada tun
ADA in der Praxis
Frage: Diese allgemeinen Abhandlungen sind ja gut und schön - aber wer von Euch benutzt Ada in der Praxis? Kennt jemand ein Linux-Projekt, das Ada als Programmiersprache benutzt?
GtkAda ist ein Gtk-Binding für GNAT. Ich habe mal auf ProLinux in einem Kommentar ein Beispielprogramm gelesen, und das sah ziemlich elegant aus. Echte Projekte findest du auf Sourceforge: http://sourceforge.net/softwaremap/trove_list.php?form_cat=163 . Wirklich aktive und bekannte Sachen sind nicht dabei. -- BennySiegert 2002-10-10 18:19:54
Tja und abgesehen von ein paar Development-Tools (Compiler,Libs,DBs) sind doch ziemlich viele Projekte mit "Planning", "Pre-Alpha" und "Activity=0.00" dabei. Da ist wohl OS/2 vergleichsweise noch richtig lebendig <g>.
Naja, der Anwendungsbereich ist nicht gerade im klassischen OSS-Bereich.
- An der Uni Stuttgart wird Ada in den ersten zwei Semestern als Lehrsprache eingesetzt.
In Ada95 muss man sich leider zuviel abbrechen, um weltliche Probleme zu lösen. Da die meisten Anwendungsfälle keine 100% Sicherheit bzw. Stabilität erfordern, ist Ada95 einfach viel zu umständlich und zu langsam (langsam vor allem auf die Entwicklungsgeschwindigkeit bezogen). Aber man kann in Ada95 auch relativ große, komplett objektorientierte Frameworks schreiben, wie z.B. OpenCAGE, ein Graph Editor Framework. -- MichaelReinsch 2002-10-11 00:37:20
Aus einem Kommentar von Anonymous auf ProLinux:
Hier eine Liste weiterer Anwender: http://www.adaic.org/atwork/index.html
Bin schon lange im Geschäft und habe viele Programmiersprachen kennengelernt und angewendet (von Assembler über Basic, Lisp/Scheme, Pascal/Modula, C/C++, PHP, Perl, Java etc.), kenne mich also mit den Stärken und Schwächen der Sprachen ziemlich gut aus. Bin schließlich bei Ada (95) gelandet.
Warum? Weil Ada sich besonders für große und/oder sicherheitskritische Projekte eignet, die man häufig bzw. nach längerer Zeit warten muß. Aufgrund der Syntax kann ich mich sehr schnell wieder in den Code einlesen. Ada kennt unter anderem bezeichnete Funktionsargumente, z.B. f(x=>1, y=>2), so daß man bei polymorphen Funktionen nicht immer erst nachschlagen muß, welche Funktion gemeint ist.
Außerdem ist der Ada-Compiler (GNAT) sehr penibel und hilft, die Fehlerquote schon im Ansatz zu reduzieren. In der Praxis benötigt man bei Ada-Projekten etwa die Hälfte an Zeit dessen, was man bei C++ an Zeit benötigen würde.
Mit JGNAT kann man Ada auch in Java-Bytecode übersetzen. Und Ada gibt es neuerdings auch für .NET und nennt sich A#:
http://www.usafa.af.mil/dfcs/bios/mcc_html/a_sharp.html
Die A#-Entwickler verhandeln gerade mit MS über eine Integration in VisualStudio.NET. Demnächst gibt es bei http://www.gnat.com eine VisualStudio-Alternative (GPS).
Verschiedenes
GNAT ist der Ada-Compiler aus der GNU Compiler Collection (GCC).