1 points par GN⁺ 2024-10-02 | 1 commentaires | Partager sur WhatsApp

On dit depuis longtemps que COBOL est « mort », mais mon grand-père a écrit à ce sujet

  • En juin 1992, mon grand-père a publié dans le magazine Technical Support un article déclarant la mort de COBOL
  • Il employait des termes alors à la mode, comme les langages de programmation de 4e génération (4GL)
  • COBOL a survécu à la plupart des langages 4GL
  • Une version texte de l’article est disponible dans les archives de la NaSPA : http://www.naspa.net/magazine/1992/t9206003.txt

Le mot mort peut avoir plusieurs sens. COBOL n’est peut-être pas mort ; c’est peut-être un zombie. Donc quelque chose peut être mort sans avoir disparu ? Oui ! COBOL est un excellent exemple de ce phénomène. COBOL n’est probablement pas le seul ; il doit encore subsister des traces d’Autocoder. Autocoder est un précurseur de COBOL, dont les moins de 45 ans n’ont probablement jamais entendu parler. Personne ne soutiendrait sérieusement qu’Autocoder n’est pas mort, mais ses traces subsistent sans doute encore.

  • Mon grand-père avait un humour pince-sans-rire

  • Une fois, j’ai réussi à lui répondre sur le même ton, et ma grand-mère en était très fière ; l’élève avait dépassé le maître

  • Ce qui a maintenu le zombie COBOL en mouvement, c’est le problème de l’an 2000

  • Le problème de l’an 2000 était énorme, et il a fallu former une nouvelle génération de programmeurs COBOL

  • Cela a contribué à prolonger encore un peu la durée de vie de COBOL

  • De nos jours, on n’emploie plus le terme « mort » pour parler des langages de programmation

  • Un langage qui a eu une large base installée ne meurt jamais vraiment

  • Même si les nouveaux programmeurs ne l’apprennent plus, ce langage s’efface lentement sur une très longue période

  • Mon grand-père est décédé le 1er septembre 2024 à l’âge de 91 ans

  • Officiellement, il est mort d’une pneumonie

  • Ma grand-mère était décédée en avril de la même année, et mon grand-père avait demandé à ne pas être soigné

Le résumé de GN⁺

  • Cet article offre un éclairage intéressant sur l’histoire et la longévité de COBOL
  • Il revient sur la période où COBOL est revenu sur le devant de la scène à cause du problème de l’an 2000
  • Il invite à réfléchir aux raisons pour lesquelles les langages de programmation ne « meurent » pas et à leur persistance
  • Parmi les langages aux fonctions comparables à COBOL, on peut citer Java et C++

1 commentaires

 
GN⁺ 2024-10-02
Commentaires Hacker News
  • La promesse de COBOL était de rendre les programmeurs inutiles grâce à un texte proche du langage humain

    • Mais décrire suffisamment bien un problème et le résoudre reste une tâche difficile
    • Au final, dès qu’on décompose le problème, on finit par avoir besoin de programmeurs
    • La principale leçon de COBOL est que ce ne sont pas les interfaces ou les langages informatiques qui exigent des programmeurs
  • Scala est aujourd’hui presque mort, comme COBOL

    • De nombreuses entreprises et services ont encore des composants critiques écrits en Scala
    • Mais il n’est presque plus utilisé dans les nouveaux projets
    • Scala surpassait les autres langages grand public sur plusieurs points importants
  • J’aimerais essayer un jour des langages « legacy » comme Fortran, COBOL, Ada ou APL

    • Java est largement utilisé dans les environnements d’entreprise
    • Dans 30 à 40 ans, Java pourrait lui aussi devenir un langage maintenu par des retraités
  • L’enquête développeurs de Stack Overflow fournit des informations sur le salaire moyen et l’expérience en COBOL

    • En 2023, 222 répondants déclaraient une expérience moyenne de 19 ans et un salaire de 75 500 $
    • En 2024, le nombre de répondants reste similaire, mais l’expérience moyenne baisse à 17 ans
    • Swift n’a été rendu public qu’il y a 10 ans, mais certains répondants affichent déjà 11 ans d’expérience en moyenne
  • Le cloud est le nouveau mainframe, mais en pire

    • Avec CICS, il était possible de créer des services très fiables et très performants
    • Avec les AWS Lambdas, il est difficile de faire des appels mutuels au sein d’une même transaction
  • Quand je travaillais sur un système mainframe il y a 20 ans, on me disait qu’il lui restait « 18 mois »

    • Aujourd’hui, ce système est encore plus robuste, et j’entends toujours qu’il lui reste « 18 mois »
    • J’ai l’impression que ce système me survivra
  • Ils cherchent un intervenant COBOL pour la Carolina Code Conference 2025

    • Avec les récentes mises à jour de GnuCOBOL, ils souhaitent une présentation sur COBOL
  • COBOL évolue avec son époque

    • Le COBOL moderne est très différent de celui des années 1950
    • Si Java s’était appelé Algol-94, nous programmerions probablement encore en Algol aujourd’hui
  • COBOL était un langage sûr en mémoire, stable, et plus facile à lire et à comprendre que Rust

    • Mais comme plus personne ne l’utilise, il est considéré comme un langage « mort »
    • Des exemples de code Rust et COBOL sont comparés
  • La discussion change selon la définition que l’on donne à une technologie « morte » ou « vivante »

    • Si plus aucune nouvelle activité n’est construite dessus, on peut la considérer comme morte
    • Si elle est encore utilisée en production, on peut la considérer comme vivante
    • Cela n’est pas forcément vu comme un point positif pour COBOL ou l’écosystème mainframe
    • Les organisations ont tendance à s’en tenir à ce qui fonctionne dès le départ