
"Comment diable en sommes-nous arrivés là à avoir littéralement besoin de programmeurs COBOL ?" » a demandé le gouverneur du New Jersey, Phil Murphy, lors d'une récente conférence de presse.
Contenu
- Fortran
- Ada
- Pascal
- BASIQUE / Visual Basic
- COBOL
Face à un nombre sans précédent de chômage demandes, l’État a dû étendre immédiatement sa plateforme de demandes de chômage vieille de 40 ans – une refonte qui a immédiatement déclenché une recherche effrénée de programmeurs familiers avec le langage de codage vieux de plusieurs décennies COBOL.
Vidéos recommandées
Cependant, ce n’est pas seulement le New Jersey qui a ce problème. De nombreux systèmes bancaires, de défense et d’intelligence artificielle dans le monde utilisent des langages de programmation qui étaient en vogue à l’époque où Apple manquait de garage.
L’industrie technologique a une affinité pour les choses nouvelles et avant-gardistes, mais s’il n’y avait pas les langages de codage anciens comme COBOL, Ada, Pascal et Fortran, l'industrie du crédit, les organismes de recherche scientifique et de nombreux systèmes de défense en arriveraient à une réaction hurlante. arrêt. En d’autres termes, sans tout ce vieux code, nous serions foutus.
Des langages de programmation vieux de cinquante ans calculent encore des millions de transactions et de statistiques et servent de base aux systèmes sur lesquels s'appuie le monde moderne. Par exemple, plus de 95 % des guichets automatiques et 40 % des banques utilisent le code COBOL, selon une étude de 2017. Rapport Reuters.

Plusieurs de ces anciennes tabulatrices remplissent encore très bien des fonctions spécifiques. De nombreux dirigeants d’entreprise ne veulent pas non plus se séparer des logiciels éprouvés qui sont essentiels à leur gestion. l'activité de leur entreprise, donc au lieu de réviser et de moderniser, ils se contentent de corriger l'ancien code et d'espérer que le meilleur.
La lutte contre les technologies anciennes n’est pas un phénomène nouveau. Par exemple, Californie a dépensé des centaines de millions de dollars en essayant de mettre à jour sa technologie DMV et de paie. Pourtant, la pandémie actuelle et la vague de chômage qui en résulte ont mis en lumière à quel point l’infrastructure logicielle américaine s’effondre comme l’infrastructure physique.
Voici cinq langues « vintage » dont notre monde dépend bien plus que vous ne le pensez, et pourquoi cela pourrait vous rendre un peu nerveux.
Fortran

Sans Fortran, la plupart des superordinateurs et modèles que nous utilisons pour des choses comme la prévision météorologique, l’astrophysique et l’analyse statistique de haut niveau ne fonctionneraient tout simplement pas.
Construit par IBM dans les années 1950, Fortran (abréviation de Formula Translation) a été l'un des premiers langages de haut niveau à utilisé des mots au lieu de chiffres et a permis aux codeurs d'écrire des programmes 500 % plus rapidement qu'avec une machine code. Il n’y a pas autant de développeurs qui apprennent ce langage aujourd’hui.
«J'utilise Fortran tout le temps, mais je n'y pense jamais», déclare James Howard, data scientist au laboratoire de physique appliquée de Johns Hopkins. Bien que Howard n'ait pas programmé dans ce langage depuis des années, ses applications accèdent régulièrement aux bibliothèques principales de Fortran. Construits au début des années 70, ils sont bien entretenus et « incroyablement rapides ».
La dernière fois que Howard a dû écrire un programme Fortran, c'était il y a environ 10 ans. Il travaillait à la Réserve fédérale et devait déplacer des données entre deux applications; l'un qui a été écrit en C et l'autre en Fortran. Les programmes ont cessé de communiquer parce que le fournisseur a cessé de fournir la bibliothèque Fortran.
Le programmeur d’une quarantaine d’années se souvient de quelque chose qu’il avait lu quand il était enfant, à savoir que la structure d’appel de données pour le langage de programmation C est opposée à celle de Fortran. Il a écrit un scénario simple pour inverser la tendance et voilà, la Réserve fédérale était de retour aux affaires.

Ada
Les programmeurs gouvernementaux s'appuient sur la base de code Ada, relativement obscure, pour développer des systèmes exigeant de la fiabilité, tels que les systèmes de défense et de sécurité. Qu'est-ce qui est programmé exactement dedans? Eh bien, c’est un peu un secret gouvernemental, mais la NASA et Boeing ont tous deux utilisé du code basé sur Ada ces dernières années pour programmer des satellites et des avions.
Le ministère de la Défense (DOD) a supervisé le développement d'Ada dans les années 1970 afin de réduire le nombre de langages de programmation utilisés par l'armée, qui dépassait à l'époque 400. Ada a été conçu pour être incontestablement fiable dans des situations de vie ou de mort et protégé contre les erreurs de programmation. Bien que le langage ait été adopté en 1980, le Congrès n’a rendu obligatoire son utilisation dans tous les systèmes gouvernementaux qu’en 1995. Deux ans plus tard, le DOD a abandonné ce mandat, estimant qu'il serait moins coûteux et plus flexible d'utiliser des systèmes modernes et largement disponibles. Mais il est toujours utilisé aujourd’hui.
Pascal

De nombreux programmeurs considèrent Pascal comme un langage de programmation presque mort, mais il perdure de plusieurs manières. "Croyez-le ou non, c'est toujours une langue très populaire dans de nombreuses régions du monde, mais aux États-Unis, vous pourriez tout aussi bien Je parlerai latin », déclare Dave Hatter, qui a passé trois ans dans une grande compagnie d'assurance pour contribuer à la mise à jour d'un millions de lignes de code qui estimaient le coût des polices d'assurance et combien elles étaient payées.
Beaucoup de ces programmes plus anciens ont été écrits bien avant les préoccupations actuelles concernant les failles de sécurité et contiennent des informations confidentielles et confidentielles. Hatter, qui travaille maintenant comme technicien en cybersécurité, estime que les programmes peuvent être relativement sûrs simplement en raison de la « sécurité par l'obscurité »: les jeunes codeurs ne savent pas quoi faire avec du code vieux de plusieurs décennies. "Un hacker de 15 ans n'aura aucune idée de comment travailler avec une sorte de mainframe IBM 390 avec COBOL", dit-il. « Maintenant, je ne dis pas qu’ils ne pourraient pas apprendre. Mais ils ne le sauront pas.
Pascal était à la base d'un des premiers systèmes d'exploitation d'Apple, et le descendant du langage, Delphi, a toujours de fervents partisans. En fait, Skype – l’une des premières applications d’appel vidéo à gagner en popularité et en utilisation – a été initialement écrit en Delphi.
BASIQUE / Visual Basic
BASIC n’est pas exactement en tête de liste en ce qui concerne les langages utilisés en 2020, mais la plupart des applications modernes sur lesquelles nous comptons n’existeraient tout simplement pas sans lui. Par exemple, si vous avez déjà programmé une macro Excel, vous avez utilisé une forme de BASIC.
Abréviation de Code d'instruction symbolique polyvalent pour débutants, BASIC a été lancé en 1963 au Dartmouth College comme moyen d'enseigner un grand public les théories et les capacités de la programmation - un plongeon dans l'eau avant de se lancer dans des langages plus robustes comme Fortran. La popularité du BASIC a augmenté avec l'ordinateur personnel: les ordinateurs Apple, IBM et Atari avaient tous leur version.
Au milieu des années 1980, les passionnés d'informatique autodidactes étaient moins enthousiasmés par le BASIC et plus intéressés par les programmes tiers. Ensuite, Microsoft a lancé Visual Basic en 1991, qui n'était pas exactement une mise à jour de BASIC, mais utilisait certaines des mêmes commandes et structures et disposait d'une meilleure interface graphique. Ensuite, le langage a été utilisé par de nombreuses entreprises pour écrire des programmes petits et grands. Même si Microsoft a annoncé avoir arrêté le support de Visual Basic 6 (la version la plus récente) en 2008, le langage compte toujours de nombreux utilisateurs. Vérifier la Indice Tiobé (qui répertorie les langages de programmation les plus populaires): VB est toujours dans le top 10 !
COBOL

« Je dirais que plus de 90 % des personnes que nous rencontrons utilisent COBOL comme élément central de ce qu'elles ont écrit », estime Brandon Edenfield, qui met à jour et fait évoluer les anciennes applications pour Systèmes modernes et a contribué à la révision du code des bourses de New York et de Singapour. "Toute grande entreprise à laquelle vous pouvez penser possède probablement une quantité malsaine de ces produits."
COBOL, acronyme de Common Business-Oriented Language, a été lancé en 1959 pour les tâches de traitement de données telles que le suivi budgétaire, les transactions bancaires et la comptabilité des salaires. Le ministère de la Défense (DOD) a initialement conçu le langage comme un projet provisoire. Ensuite, le DOD a demandé aux fabricants d'ordinateurs d'inclure COBOL sur les machines qu'ils vendaient et le langage s'est rapidement répandu au cours des décennies suivantes. Plus de 95 % des distributeurs automatiques et 40 % des banques utilisent encore le code COBOL, selon une étude de 2017. Rapport Reuters.
Une grande partie de cette programmation a été déployée via des ordinateurs centraux et les systèmes modernes ont été migrés vers le cloud. Comme l’illustre la situation difficile du New Jersey, les développeurs qui savaient comment maintenir le code COBOL vieillissent ou ont déjà pris leur retraite.
Les entreprises qui modernisent ces programmes le font généralement de différentes manières.
« Un grand intégrateur de systèmes lancera un tas de corps sur le code; ils vont s'asseoir, le regarder et le réécrire », explique Edenfield. Cette approche est souvent la plus risquée, la plus longue et la plus coûteuse. En moyenne, les gros travaux de refonte codés à la main peuvent prendre de 3 à 10 ans et coûter des centaines de millions de dollars.
Edenfield recommande des solutions automatisées et affirme que la première étape logique pourrait consister simplement à déplacer le code de une version obsolète de COBOL vers une version actuelle, ce qui permettrait à de nombreux systèmes de passer à une version moderne les serveurs. Il compare une mise à jour automatique à la traduction du français vers l’anglais: « La base de ce qui est dit est parfaitement traduite. Il vous suffit de corriger la syntaxe de la façon dont c’est formulé. Cette approche peut également réduire le temps et le coût d’une mise à jour, dit-il, entre six et 24 mois.
Est-ce que ce sera bon marché? Eh bien, ce sera moins cher. Les projets de systèmes modernes coûtent généralement entre 200 000 et 10 millions de dollars. Une grande partie du projet, explique Edenfield, ne consiste pas à traduire le code, mais à tester pour s'assurer qu'il fait tout correctement.
La raison pour laquelle ces mises à jour n’ont pas lieu ?
"Personne n'en a entendu parler auparavant parce que ce n'est pas un sujet sexy et les gens n'essaient généralement pas de parler du linge sale qu'ils ont", explique-t-il. Les responsables informatiques ont également l’habitude de donner un coup de pied à l’avenir.
"Je vous parie que l'État du New Jersey va désormais prêter attention à cette question, mais je vous parie aussi que la moitié de ses collègues penseront que cela ne leur arrivera pas, 'pas à moi'."