2008-12-14 7 views

Antwort

6

Ada wurde ursprünglich als eine Sprache konzipiert, um die sehr große Anzahl von Sprachen zu konsolidieren, die für den Aufbau von Systemen für das US-Militär verwendet wurden. Sie werden es also oft in Anwendungen im Bereich der Verteidigungssysteme finden. Ein Beispiel für eine Anwendung finden Sie in der Tokeneer Fallstudie, deren Quellcode jetzt available online ist.

+0

Ja, wahr. Ich denke, ich war nicht spezifisch (oder allgemein, nimm deine Wahl) genug;) – TraumaPony

4

Nicht in Stückzahl. Bis GNAT kam Ada Compiler und Entwicklungswerkzeuge waren sehr teuer und in der Regel nur teure Hardware wie Suns, Vaxen oder IBM Mainframes unterstützt.

Es gibt ein bisschen davon - verschiedene Outfits machen sicherheitskritische Sachen mit SPARK, aber es neigt (obwohl nicht ausschließlich) dazu, maßgeschneiderte Arbeit zu sein.

15

Abgesehen von sicherheitskritischen Systemen glänzt Ada nur dann wirklich, wenn viele Teams an einem sehr großen Projekt arbeiten und die Anzahl der logischen Quellcodezeilen 1 oder 2 Millionen übersteigt.

Es ist an diesem Punkt, wenn alle Ada-Sprache Laufzeitprüfungen definiert, die Sie manchmal für ein bisschen pedantisch hielten und die Codegröße um zu viel erhöhten, wurde wirklich nützlich. Einen Fehler irgendwo in Millionen Codezeilen zu reparieren macht nie Spaß; Durch die Laufzeitprüfungen können Probleme früher und näher am Ort des Auftretens erkannt werden.

Leider können viele Softwareentwickler, die Ada 83 oder Ada 95 professionell verwendet haben, nicht über die Projekte berichten, an denen sie gearbeitet haben. Ich habe gehört, dass es auch in den Bereichen Air Traffic Control Systems (in verschiedenen Ländern), Railway Transportation Systems (wie Paris Metro und Hong Kong Subway) und Banking/Finance (Reuters und andere) verwendet wird.

Es ist eine sehr gute Sprache und es gibt Leute, die seine Verwendung befürworten, weil es eine gute Sprache ist, aber manchmal, wenn Sie keine Segmentierung Fehler oder wirklich bösen Absturz in Monaten oder Jahren gesehen haben, beginnen Sie wollen wieder in C++ zu codieren ...

5

Ich weiß es nicht genau, aber nachdem ich viel über Ada gelesen hatte, hielt ich es aufgrund all dieser Dinge für vollkommen passend für alle Physik-bezogenen Rechen-/Automatisierungsaufgaben Compile-Time und Runtime-Checks (eine gute Sache ist, dass Sie zwei inkompatible Gleitkommatypen erstellen können, zB Length und Mass).

+1

Absolut wahr. Aber noch vor 10 Jahren, und es mag noch immer wahr sein, wurden Physikstudenten immer noch für FORTRAN 77 gelehrt. Und dann lachten wir über die Mathematikstudenten, als sie sich darüber beschwerten, FORTRAN lernen zu müssen. – Nelson

+5

Wo ich arbeite (Flugsimulationsbranche) schreiben wir immer noch neuen Fortran-Code. Nur weil eine Sprache nicht verwendet wird, um viele Webserver zu erstellen, bedeutet das nicht, dass es "tot" ist. –

+0

Ich stimme nicht zu; Normalerweise müssen Sie im Bereich der Computerwissenschaften Ihren Code weiterentwickeln, um neue Ideen zu testen. Deshalb wird Python mit Numpy/Scipy immer beliebter. Ada eignet sich besser für Programme mit stabilen Spezifikationen. – syockit

27

Michael Feldman unterhält aktiv eine "Who's Using Ada/Real-World Projects" Liste, die alle Arten von militärischen und kommerziellen Projekten auflistet. Und weil er die Vertraulichkeit der Mitarbeiter beibehält, werden Projekte dort auftauchen, die von ihren Sponsoren nicht als "Ada Inside" -Projekte diskutiert werden.

6

Es begann als bevorzugte Sprache des DoD, also finden Sie es überall in DoD-Programmen. NASA und die FAA sind auch große Benutzer. Aufgrund dieser Basis verwendet es auch eine Menge kommerzieller Raumfahrt (obwohl dies wahrscheinlich "sicherheitskritisch" ist). Zum Beispiel glaube ich, dass die meiste Software in der Boeing 777 in Ada entwickelt wurde. Ich denke, die europäische Weltraumagentur nutzt es auch sehr.

Das heißt, es ist wirklich nicht fast genug verwendet.Zum Beispiel ist es fast immun gegen Buffer-Overflow-Exploits, also sollte es eigentlich die bevorzugte Sprache für die OS-Entwicklung sein.

2

Ada ist immer noch beliebt in kolossalen, traditionellen, auf die Regierung ausgerichteten Programmen. Es ist auch eine Basis für VHDL.