46 votes

Pourquoi Ada ne l'a pas fait ?

J'ai lu des articles sur un très beau langage appelé "Ada", qui me semble très puissant, avec beaucoup de ce que nous appelons aujourd'hui des "dispositifs de sécurité".

Qu'est-ce qui n'allait pas avec Ada pour ne pas en faire un langage de premier ordre dans l'industrie ?

Je sais qu'il a été utilisé dans des logiciels critiques. Ce que je demande, c'est ce que n'est pas en font une bonne langue pour un plus large domaine. Par exemple, le langage C a été créé pour être un langage de systèmes, mais il joue un rôle important dans le monde scientifique.

26voto

Rick J Points 2031

Ada l'a "fait" pour ce à quoi il était destiné. Il s'agit principalement de logiciels critiques pour les missions... Par exemple, 90 % des commandes de vol électriques du rapace F22 sont écrites en Ada (le langage de programmation standard du ministère de la défense).

25voto

Daniel Earwicker Points 63298

D'une certaine manière, il a réussi, car il a influencé d'autres langages encore largement utilisés aujourd'hui (notamment via la gestion des exceptions).

Il est possible qu'il ait été surspécifié, ayant été conçu par un comité pour la défense américaine. Il était probablement en avance sur son temps à certains égards (avec les fonctions de sécurité) mais a rapidement pris du retard à d'autres égards (non orienté objet).

En comparaison, le C était d'un niveau si bas qu'il était capable de remplacer le codage en langage d'assemblage, et si simplement défini qu'il était facile d'implémenter un compilateur, et avait la "killer app" d'être la base d'Unix. Cela lui a donné l'élan nécessaire à une adoption généralisée et signifiait que le C++ avait un public prêt à recevoir une mise à niveau incluant des fonctionnalités plus modernes ajoutées au C. Cette domination conjointe du C/C++ a fait que les langages largement adoptés par la suite ont généralement imité la syntaxe du C (en particulier Java, ECMAScript et C#).

16voto

Mark Harrison Points 77152

Il a été utilisé sur des projets gouvernementaux, et les vendeurs d'Ada ont facturé de cette façon.

Par exemple, lorsque nous avons acheté Sparcworks C/C++ pour le Sun, le prix catalogue était de 2 000 dollars par siège. Pour Sparcworks Ada (qui, d'après ce que j'ai pu voir, avait des caractéristiques identiques), le prix catalogue était de 10 000 $/place.

Cela a freiné l'enthousiasme des entreprises (autres que les fournisseurs), car personne ne veut être coincé avec des outils dont le prix est fixé par le gouvernement !

15voto

Mark Points 1418

Ayant commencé comme développeur Ada, je dois dire que la seule chose qui n'allait pas était le timing et l'inertie. Je maintiens que c'est le langage le plus élégant avec lequel j'ai travaillé. Malheureusement, il n'y avait pas beaucoup de compilateurs de qualité ou de haut niveau pour les PC, de sorte que le développement Ada était (d'après mon expérience) effectué sur des stations de travail Sun coûteuses. Cela ne se prête pas aux développeurs amateurs et les développeurs C étaient tout simplement heureux de continuer à travailler avec ce qu'ils connaissaient.

Java a repris beaucoup de bonnes idées d'Ada et les a transférées dans une syntaxe de style C afin d'attirer les personnes qui voulaient bénéficier des avantages du code géré sans avoir à apprendre une nouvelle syntaxe.

Peut-être que si Microsoft avait eu cette vision, nous aurions eu Ada .NET au lieu de C# et nous aurions eu un langage moderne, avec une excellente syntaxe et un grand marché commercial. Cela aurait pu être mon nirvana du développement.

8voto

RichardOD Points 19942

Quand j'étais à l'université, j'ai appris Java et Ada. Avec Java, vous aviez le choix entre de nombreux IDE, toute une série de livres, une multitude de bibliothèques et de frameworks.

Avec Ada, il semble que nous n'ayons eu accès qu'à des IDE médiocres, quelques livres et très peu de frameworks. Je pense que c'est pour ces raisons qu'Ada n'a pas atteint la masse critique nécessaire pour devenir courant, et qu'il reste coincé dans le secteur du développement d'applications critiques.

Je pense toujours que la chose la plus cool à propos d'Ada était de permettre aux utilisateurs de déclarer leurs propres types de données primitives (exemple tiré de Wikipedia) :

type Month_Type is range    1 ..   12;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X