Le monde moderne est construit sur l’ancien code. C’est un problème

anciennes langues de codage
Genevieve Poblano / Tendances numériques

“Comment diable en sommes-nous arrivés là où nous avons littéralement besoin de programmeurs COBOL?” a demandé le gouverneur du New Jersey, Phil Murphy, lors d’une récente conférence de presse.

Confronté à un nombre sans précédent de demandes de chômage, l’État a dû étendre immédiatement sa plate-forme de demandes de chômage de 40 ans – une refonte qui a instantanément lancé une recherche effrénée de programmeurs familiers avec le langage de codage COBOL vieux de plusieurs décennies.

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 s’appuient sur des langages de programmation qui étaient en vogue à l’époque où Apple n’a plus de garage.

L’industrie de la technologie a une affinité pour les choses nouvelles et de pointe, mais sans les anciens langages de codage comme COBOL, Ada, Pascal et Fortran, l’industrie du crédit, les organismes de recherche scientifique et de nombreux systèmes de défense arriveraient à une halte hurlante. En d’autres termes, sans tout cet ancien code, nous serions foutus.

Les langages de programmation vieux de cinquante ans calculent toujours des millions de transactions et de statistiques, et servent de colonne vertébrale aux systèmes sur lesquels le monde moderne s’appuie. Par exemple, plus de 95% des distributeurs automatiques de billets et 40% des banques utilisent le code COBOL, selon un 2017 Rapport hooly-tech.com.

Plusieurs de ces tabulateurs anciens remplissent encore très bien des fonctions spécifiques. Il y a aussi beaucoup de dirigeants d’entreprise qui ne veulent pas séparer les logiciels éprouvés qui sont vitaux pour les affaires de leur entreprise.Au lieu de réviser et de moderniser, ils corrigent simplement l’ancien code et espèrent le meilleur.

La lutte avec 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 la quantité d’infrastructure logicielle américaine qui s’effrite comme la physique.

Voici cinq langues «vintage» dont notre monde dépend plus que vous ne le pensez, et pourquoi cela pourrait vous rendre un peu nerveux.

Fortran

couverture manuelle 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 à utiliser des mots au lieu de chiffres et a permis aux codeurs d’écrire des programmes 500% plus rapidement que lors de l’utilisation du code machine. Pas autant de développeurs apprennent la langue aujourd’hui.

«J’utilise Fortran tout le temps – je n’y pense jamais», explique James Howard, data scientist au Johns Hopkins Applied Physics Laboratory. Bien que Howard n’ait pas programmé dans la langue depuis des années, ses applications accèdent régulièrement aux bibliothèques de base de Fortran. Construits au début des années 70, ils sont bien entretenus et «d’une rapidité aveuglante».

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 écrit en C et l’autre en Fortran. Les programmes ont cessé de communiquer parce que le vendeur a cessé de fournir la bibliothèque Fortran.

Le programmeur d’une quarantaine d’années se souvenait de quelque chose qu’il avait lu quand il était enfant, que la structure d’appel de données pour le langage de programmation C est opposée à celle de Fortran. Il a écrit un script simple pour renverser la commande et, le tour est joué, la Réserve fédérale a repris ses activités.

fortran punchard

Ada

Les programmeurs gouvernementaux s’appuient sur la base de code Ada relativement obscure lorsqu’ils développent des systèmes qui exigent de la fiabilité, tels que des systèmes de défense et de sécurité. Qu’est-ce qui y est programmé exactement? Eh bien, c’est un peu un secret du gouvernement, mais la NASA et Boeing ont tous deux utilisé le 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 pour réduire le nombre de langages de programmation utilisés par l’armée, qui à l’époque était supérieur à 400. Ada a été conçu pour être incontestablement fiable dans des situations de vie ou de mort et fortifié contre l’erreur du programmeur. Bien que le langage ait été prononcé en 1980, le Congrès n’a pas rendu obligatoire son utilisation dans tous les systèmes gouvernementaux jusqu’en 1995. Deux ans plus tard, le DOD a abandonné le mandat, estimant qu’il serait moins cher et plus flexible d’utiliser un système largement disponible et à jour. systèmes de date. Mais il est toujours utilisé aujourd’hui.

Pascal

affiche pascal

De nombreux programmeurs considèrent Pascal comme un langage de programmation presque mort, mais il vit de plusieurs manières. “Croyez-le ou non, c’est encore une langue très populaire dans de nombreuses régions du monde, mais aux États-Unis, vous pourriez aussi bien parler latin”, explique Dave Hatter, qui a passé trois ans dans une grande compagnie d’assurance à aider à mettre à jour un plus d’un million de lignes de code qui ont estimé le coût des polices et le montant qu’elles ont payé.

Pascal a été la base d’un premier système d’exploitation Apple, et le descendant du langage, Delphi, a toujours de solides partisans. En fait, Skype – l’une des premières applications d’appel vidéo à gagner en popularité et en utilisation – a été initialement écrite en Delphi.

BASIC / Visual Basic

BASIC n’est pas exactement en haut de la liste en ce qui concerne les langues que les gens utiliseront en 2020, mais bon nombre 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 du code d’instruction symbolique polyvalent pour débutant, BASIC a été lancé en 1963 au Dartmouth College comme un moyen d’enseigner à un public général les théories et les capacités de programmation – un plongeon dans l’eau avant d’entrer dans des langages plus robustes comme Fortran. La popularité de BASIC a augmenté avec l’ordinateur personnel – les ordinateurs Apple, IBM et Atari avaient tous leurs versions.

Vers le milieu des années 80, les nerds de l’informatique autodidacte étaient moins fanatiques de 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 qui utilisait les mêmes commandes et la même structure et avait une meilleure interface graphique. Ensuite, la langue a été utilisée par de nombreuses entreprises pour écrire des programmes petits et grands. Même si Microsoft a déclaré qu’il avait arrêté la prise en charge de Visual Basic 6 (la version la plus récente) en 2008, mais la langue a encore beaucoup d’utilisateurs. Vérifier la Indice Tiobe (qui répertorie les langages de programmation les plus populaires): VB est toujours dans le top 10!

COBOL

affiche de cobol

“Je dirais que plus de 90% des personnes que nous voyons ont COBOL au cœur de ce qu’elles ont écrit”, estime Brandon Edenfield, qui met à jour et transite les applications héritées pour Systèmes modernes et a aidé à mettre à jour le code des bourses de New York et de Singapour. “Toute grande entreprise à laquelle vous pouvez penser a probablement une quantité malsaine de ce genre de choses.”

COBOL, acronyme de Common Business-Oriented Language, a été lancé en 1959 et est destiné aux tâches de traitement des 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 prochaines décennies. Plus de 95% des distributeurs automatiques de billets et 40% des banques utilisent toujours le code COBOL, selon un 2017 Rapport hooly-tech.com.

Une grande partie de cette programmation a été déployée via des ordinateurs centraux et des systèmes modernes sont passés au 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 jettera 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 replatformage 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 dit que la première étape logique pourrait être de simplement déplacer le code d’une version obsolète de COBOL vers une version actuelle, ce qui permettrait à de nombreux systèmes de passer à des serveurs modernes. Il compare une mise à jour de la machine à 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 formulation. ” Cette approche peut également réduire le temps et le coût d’une mise à jour, dit-il, entre six et 24 mois.

Sera-ce bon marché? Eh bien, ce sera moins cher. Les projets de systèmes modernes varient 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 ne se produisent pas?

“Personne n’en avait entendu parler auparavant, car 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 au bas de la route.

“Je vous parie que l’État du New Jersey va maintenant prêter attention à ce problème, mais je vous parie également que la moitié de leurs collègues penseront que cela ne leur arrivera pas,” Pas moi “.»

Recommandations des éditeurs