Ada est-elle vraiment partie?


17
  • Les gens utilisent-ils encore Ada - (c'était surtout utilisé au ministère de la Défense)
  • Toutes les applications sont-elles écrites en Ada "Legacy"?
  • Le savoir Ada se vend-il toujours

5
Lisez d'abord ceci avant de demander ceci Q: tiobe.com/index.php/content/paperinfo/tpci/index.html Il est plus populaire que F # ou Assembly, et il a en fait une syntaxe soignée (IMO).
Job


1
@greenlit, les développeurs Java vers Ada sont actuellement à environ 20: 1. Pour en savoir plus, essayez de numériser les offres d'emploi. Quel est ton angle ici? Espérez-vous trouver un emploi Ada bien rémunéré?
Job

3
Si vous souhaitez l'utiliser dans une application générale, pourquoi la popularité est-elle importante? Envisagez-vous d'ajouter d'autres développeurs?
JeffO

1
@greengit voir aussi stackoverflow.com/questions/1078043/why-didnt-ada-make-it - en fait, il l'a fait, java a passé la plupart de son temps à rattraper son retard!
NWS

Réponses:


27

Est-ce que les gens utilisent encore Ada - (il était principalement utilisé au ministère de la Défense)

Il semble que Ada a été mis à jour pour la dernière fois en 2005 et il y a du travail vers une Ada 2012 , donc la langue elle-même est toujours vivante et dynamique.

En ce qui concerne l'utilisation, Ada n'est plus mandaté pour une utilisation au sein du ministère de la Défense. La plupart des travaux que j'ai vus et effectués l'ont été en Java, C et C ++, mais il y a aussi l'utilisation du framework .NET et j'ai même entendu parler de projets exécutant d'autres langages JVM tels que Scala, selon la façon dont sera utilisé. Il y a probablement beaucoup de code là-bas à Ada, donc je ne serais pas surpris s'il y avait beaucoup de réutilisation et de maintenance du code. Étant donné la nature des projets de défense, il est difficile de trouver des chiffres précis quant à leur utilisation.

Il y a une liste de projets et d'utilisateurs Ada , mais il semble que la dernière mise à jour date de juin 2008. Il pourrait y avoir des listes plus récentes, mais je n'ai pas pu en trouver rapidement.

Toutes les applications sont-elles écrites en Ada "Legacy"?

Si vous demandez s'il y a un nouveau développement Ada, je ne serais pas surpris si de nouveaux systèmes sont écrits à partir de zéro dans Ada. Je soupçonne qu'il y en aurait trop, mais il y en a probablement quelque part. Cependant, je soupçonne que la plupart des travaux d'Ada sont des opérations de maintenance ou de mise à niveau sur les systèmes existants, et non de nouveaux développements.

Le savoir Ada se vend-il toujours

La connaissance de n'importe quoi se vend, si vous pouvez trouver quelqu'un qui recherche cet ensemble de compétences. Même si vous n'utilisez pas Ada dans le développement, j'ai constaté que la connaissance d'un langage ou d'un cadre particulier a changé mon opinion et la façon dont j'utilise d'autres langages ou cadres. Je soupçonne que connaître Ada vous donnerait également un aperçu d'autres méthodes de conception et de construction de logiciels dans d'autres langues.


5
NWS

1
C # et .NET sont également utilisés dans des applications commerciales écrites par des entrepreneurs de la défense.
George Stocker

@NWS: À certains égards, il semble qu'il pourrait offrir une validation statique beaucoup plus robuste que ce qui serait possible en C. Je suis curieux, cependant, dans quelle mesure le typage basé sur les sous-gammes fonctionne réellement pour réduire la dépendance à la taille de la machine. Si l'on a par exemple deux variables déclarées de type 0..200, et souhaite tester si leur produit est supérieur à 250, pourrait-on simplement comparer leur produit à 250 et le faire garantir, ou échouerait-il la compilation dans les cas où il peut échouer ou réussir la compilation mais échouer à l'exécution si le produit dépasse 32 767?
supercat

@supercat Oui La validation statique est très bonne dans Ada. En ce qui concerne votre requête spécifique, l'utilisation correcte de sous-types et de types modulaires pour produire des plages à tester résoudra votre énigme. Il existe également des bibliothèques disponibles pour la manipulation de très grands nombres qui fonctionneront sur les machines 16/32 bits. Avez-vous lu sur le système de type fort d'Ada? Une fois que vous avez appris à l'utiliser correctement, c'est très puissant.
NWS

@NWS: J'ai regardé la définition du langage Ada liée à la page Wiki, et bien que j'aie trouvé où cela parlait de la définition des types numériques, je n'ai trouvé aucune discussion sur la façon dont ils interagissaient avec les opérateurs. Si Ada devait exiger des typecasts lors de son fonctionnement sur des types qui ne correspondaient pas exactement, cela semblerait moins qu'utile, mais je n'ai vu aucune indication de ce qui est réellement requis. Si je concevais la langue, dans le cas susmentionné, je garantirais que la comparaison se comporterait comme si elle était évaluée avec un type pouvant contenir jusqu'à 40 000, ou bien ...
supercat


6

Ada est encore largement utilisé dans les systèmes embarqués de défense, critiques pour la mission, critiques pour la sécurité, en temps réel.

Par conséquent: trains, chemins de fer, avions, contrôle du trafic aérien, satellites, systèmes médicaux, centrales nucléaires, etc.

pour une utilisation récente de ada voir: ce


5

"A été" utilisé dans le département de la défense? La dernière fois que j'ai vérifié, ça l'est toujours. Ada est toujours aussi viable que n'importe quelle langue pour écrire de nouveaux logiciels à partir de zéro. Ce qui est désavantageux, c'est la disponibilité des logiciels existants à réutiliser et à adapter, et la disponibilité des programmeurs pour vous aider. Cependant, il peut être lié à des programmes C ou à ceux avec une interface binaire similaire.

Ada a probablement l'utilisation la plus idiomatique de typage fort et de programmation générique de tout langage que je connaisse. Cette expérience est hautement vendable même si elle n'est pas programmée dans Ada.


1
Il a été mandaté pour des projets du DoD, jusqu'à la fin des années 1990 (1997-1998, si je me souviens bien). Le code Ada existe toujours, mais de plus en plus de projets sont en cours de construction en utilisant C, C ++, Java, et même des langages comme Python commencent à faire leur chemin. Je ne dis pas qu'il n'est pas utilisé - il y a une tonne de code Ada qui est toujours bon et peut être réutilisé, modifié ou étendu pour des projets, et c'est le cas. Mais peu de nouveaux développements utilisent Ada.
Thomas Owens

J'ai trouvé que les modèles C ++ avec l'instanciation automatique de la fonction de modèle étaient beaucoup plus puissants et «idiomatiques» que les génériques Ada.
kevin cline

1
@Kevin, idiomatic fait référence à un modèle d' utilisation typique qui définit une langue, et non à sa "puissance". Il n'est pas rare que les programmeurs c ++ passent des années à utiliser des modèles pour les conteneurs de bibliothèque standard mais sans jamais définir les leurs. C'est du jamais vu avec les programmeurs et les génériques Ada.
Karl Bielefeldt

Notez que le mandat a été abrogé, pas son utilisation.
NWS

1

J'oserais dire que n'importe quel langage qui a jamais été aussi populaire et qui n'était pas spécifique au matériel dans l'industrie non technologique ou le gouvernement ne mourra jamais en une seule génération.

Les entreprises, et doublement si le gouvernement a trop de réglementations et d'autres préoccupations juste pour mettre à niveau parce que quelque chose est vieux. De nombreux systèmes de cet âge sont de toute façon pris en charge en interne, de sorte que l'argument de non-prise en charge ne va pas avec eux non plus.

La réponse de Thomas est bonne dans ce cas, Ada sera là jusqu'à ce que tout ce qui est basé sur la technologie avant le milieu des années 90 ait été remplacé dans l'armée, mais en général, ce genre de question entraîne toujours ce type de réponse parce que les langues qui ont eu une période de une masse critique importante ne meurt jamais complètement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.