Programmeurs de COBOL recherchés

mmmnCéline Dion

L’infolettre du CIMBCC a publié le 6 avril dernier cette chronique de Daniel Vinet où il y était question, entre autres, de l’évolution des langages informatiques. Deux semaines plus tard, le Journal de Montréal publiait le 17 avril un article au sujet des cafouillages informatiques au gouvernement du Québec.

Le marasme informatique au gouvernement provincial – pas seulement à la SAAQ – est vraisemblablement causé par le manque de programmeurs qui maîtrisent le langage de programmation Cobol.

On y apprend que ce langage, bien que reconnu pour son efficacité et sa stabilité, n’est plus enseigné dans les institutions scolaires. Pourtant, il est toujours utilisé pour les infrastructures critiques à travers le monde.

Voici à quoi ressemble une page de code en langage Cobol :

La pénurie de spécialistes en Cobol est d’ailleurs si criante dans les instances gouvernementales des États-Unis que IBM a créé, en 2020, une formation gratuite en ligne. Pour y accéder, il faut se créer un compte sur le site d’IBM, avec un mot de passe entre 12 et 23 caractères. Sans surprise, les cours ne sont offerts qu’en anglais.

Il s’agit donc ici d’un avis aux intéressé(e)s qui entendraient un « appel missionnaire » pour contribuer au sauvetage du système informatique de nos gouvernements. Vous pourriez alors suivre la formation en ligne de IBM. D’autre part, pour ceux et celles qui maîtrisent déjà le Cobol, vous pourriez offrir vos services au gouvernement du Québec. Le Syndicat des professionnels du gouvernement du Québec (SPGQ) envisage même d’offrir une prime à ceux qui maîtrisent le langage Cobol. Les portes sont donc grandes ouvertes !

Céline Dion

26 réflexions sur « Programmeurs de COBOL recherchés »

  1. Céline effectivement la réaction à votre article est extraordinaire. Enfin on a une réponse à l’incapacité de nos gouvernements à fonctionner ‘comme du monde’. Merci…Nicole f.

  2. L’invention de COBOL -> https://gilpress.substack.com/p/developing-cobol

    J’ai suivi un cours de COBOL, mais je ne l’ai jamais utilisé pour mon travail, contrairement à FORTRAN. J’ai plutôt utilisé le langage AS (pour Application System), qui était plus facile à utiliser. Les nouveaux langages de programmation sont conçus pour laisser l’ordinateur effectuer davantage d’opérations routinières, ce qui augmente la productivitê des programmeurs.

  3. Merci Céline! De me remémorer ce moment cauchemardesque qu’a été mon cours universitaire avec COBOL. De tous les langages de programmation que j’ai étudiés, c’était le moins convivial. Ce n’est pas pour rien que les programmeurs ont pris d’autres voies. Avec une forte nomenclature déclarative, je comprends qu’il pouvait être stable. Mais les programmeurs chevronnés (que je ne suis pas) préfèrent élaborer des algorithmes et torturer le langage afin de trouver des chemins pour atteindre leur objectifs. COBOL avait le don de les irriter. Alors, ils allaient vers les autres langages.

  4. Je cite un extrait cynique dans le bas de la page Wikipedia
    https://fr.wikipedia.org/wiki/Cobol

    Cobol a été développé à la marge de la communauté scientifique et informatique, et a fait l’objet de critiques sévères dans les rangs de celle-ci. Le célèbre mathématicien et informaticien Edsger Dijkstra a ainsi déclaré en 1975 : « L’utilisation de COBOL mutile l’esprit ; l’enseigner devrait, par conséquent, être considéré comme un délit pénal » (« The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence. ») UN PEU DUR !

    Pour pratiquer le COBOL il faudra en pratique que l’étudiant trouve un système Mainframe opérationnel. Celui d’IBM pour de la formation ou celui d’un employeur !

    À moins de vouloir un job d’opportunité en COBOL tout en sachant qu’il y a un manque de ressources compétentes dans d’autres programmes plus au goût du jour, il faut y penser avant de se lancer dans l’environnement mainframe des grands et vieux systèmes d’ordinateurs IBM.

    La seule vraie opportunité d’être un programmeur spécialiste COBOL est de devenir consultant à contrat grassement payé. Et ce sont les grandes firmes qui contractent.

    COBOL, c’est pas drôle mais ça s’apprend comme tout autre langage de programmation ! Je me suis mesuré à Fortran, COBOL, PL1, APL, RPGII et BASIC pour conclure que je n’avais pas toutes les aptitudes pour me brûler au travail.

    1. Ayoye! Comme je disais dans un autre commentaire: ce n’est donc pas au récent programmeur de retourner sur les bancs d’école, mais plutôt aux gouvernements de remplacer leurs sytèmes.
      Par contre, pour remplacer un ancien système, encore faut-il que le programmeur du nouveau système connaisse l’ancien. Dans ce cas, si j’ai bien compris, vaut mieux que les gouvernements sortent la tête du sable et attirent des programmeurs qui connaissent le langage COBOL, afin d’assurer et d’accélérer la transition au plus vite, avant que plus aucuns programmeurs ne connaissent ce langage.

      1. On peut aussi refaire un système à partir d’un cahier de charges et des fichiers existants. Parfois, le programme existant ne nous fournit pas d’information essentielle sur les processus qu’il implante autre que ce qui fait partie de la pratique courante.

      2. Commentaire

        Bonjour Céline.
        En fait, certains programmes sont devenus des monstres, constamment modifiés pour répondre à de nouvelles règles de droit ou d’affaire. Il ‘y a longtemps de cela, j’avais eu des échos qu’Hydro-Québec envisageait de refaire sur plateforme moderne certains de ces logiciels, je ne sais si tout cela a été fait, mais chose certaine, il y aura besoin tant que tous ces systèmes « legacy » seront actifs.

        Je me souvient de l’époque où nous avions amorcé la conversion du logiciel de mise au rôle pénal, un enfer! Les mecs qui ont conçu ce logiciel à l’époque avaient introduit une triple récursivité rendant la trace d’exécution extrême difficile, parce que non, la documentation n’était pas entretenue. Pour te donner une idée, la récursivité est le concept d’une procédure qui s’appel elle-même, élément théorique intéressant, mais que nous cherchions tous à éviter pour des raisons évidantes de complexité et de limitation mémoire, élément important à l’époque.

        Pour ceux que ça intéresse, vous pouvez vous procurer gratuitement GnuCOBOL (anciennement OpenCOBOL) ici: https://sourceforge.net/projects/gnucobol/

        Il existe une version modernisée nommée Visual COBOL: https://www.microfocus.com/fr-fr/products/visual-cobol/overview

        1. Merci Daniel. C’est encourageant de constater que le Club compte une belle brochette d’informaticiens de haut niveau.

        2. Il y a aussi des compilateurs en ligne qui acceptent COBOL ->

          https://www.jdoodle.com/execute-cobol-online/

          https://www.ideone.com/

          Dans le cas de ideone, il vaut mieux choisir COBOL et non COBOL 85, car tinycobol n’est plus maintenu. Les deux utilisent donc gnucobol, mais la version de jdoodle, qui comporte un « dark mode », est plus récente.

          Voici une liste des compilateurs gratuits à télécharger ->
          https://www.thefreecountry.com/compilers/cobol.shtml

          Celui de Micro Focus n’est pas vraiment gratuit. J’ai essayé de télécharger Visual COBOL mais le formulaire de demande exigeait un nom de compagnie…

  5. Excellent article Céline.
    Faudrait juste changer la référence de mon article qui n’est pas le bon, il s’agit de celui-ci: https://cimbcc.org/les-langages-de-programmation

    Ces vieux programmes en COBOL sont pour la plupart sur ordinateur central (mainframe) et sont devenus tellement gros et complexes qu’aucun n’ose s’y aventurer pour les refaire. Nous avions la même difficulté à la Justice où les causes civiles et criminels sont sur ordinateur central, en COBOL et IDeal.

    1. Bonjour Daniel,

      J’ai inséré le changement demandé dans le lien au début de l’article de Céline.

      Richard

    2. Merci de ton explication Daniel. Je comprend mieux maintenant. Ce sont donc plutôt ces « vieux systèmes », encore utilisés par les gouvernements, qui devraient se mettre à jour, et non l’inverse avec les programmeurs.

  6. En passant l’acronyme anglais COBOL signifie COmmon Business Oriented Language.

    Inversez COBOL donne LOBOC dont l’acronyme donne Logical Business-Oriented Language , Par contre comme vieux retraité j’aimerais visiter la ville de LOBOC.

    Trêve de plaisanteries, l’article du Journal de Montréal, dont tu réfères Céline, est très intéressant.

    COBOL de par sa rareté de programmeurs est de facto plus sécuritaire ! Mais nous avons un problème majeur sérieux.

    1. Merci de ton commentaire Robert.

      Bien que le contenu du JdM comporte beaucoup de banalités, et souvent « à la une », c’est le seul qu’on livre dans ma boîte aux lettres. J’aime avoir un journal-papier quand je mange ou bois un café/thé.
      Heureusement que ce Journal offre quand même de très bons documentaires et de bons chroniqueurs: Mathieu Bock Côté, Denise Bombardier, Joseph Facal, Nathalie Elgrabry, etc. Et de points de vue diversifiés, même si on peut reconnaître une similarité d’opinions. Ce qui est typique de bien des médias d’ailleurs

  7. Alors que j’étais encore étudiant en rédaction de thèse de maîtrise, parce que je savais programmer en Fortran IV, on m’avait fortement poussé à donner un cours de COBOL dans un CEGEP que je ne nommerai pas. Lorsque j’ai réalisé que ça pourrait me prendre environ 1500 lignes d’initialisations et de déclarations avant de commencer un tout petit programme de 70 lignes en Fortran je me suis dit que je ne serais pas la bonne personne et sans regret j’ai décliné. J’ai plutôt appris le PL1 par la suite, un autre programme d’IBM, qui était un mélange des deux. J’apprenais ces languages de programmation de façon autodidacte pour m’avancer dans mes travaux universitaires.
    Salutations à tous.

  8. COBOL est très rébarbatif. Il y a beaucoup de travail à faire seulement pour définir les variables. Mais si cela permet d’obtenir un travail, cela peut en valoir la peine. J’ai essayé de m’inscrire à l’adresse indiquée, mais j’ai obtenu un message d’erreur parce que cela m’a pris trop de temps pour définir un mot de passe (de 24 caractères, alors que je pensais pouvoir aller jusqu’à 63 caractères). Par ailleurs, j’ai créé un compte qui ne permet pas d’avoir accès au cours. J’attends des nouvelles du service à la clientèle.

    1. Ah oui? Je suis contente d’apprendre que tu t’es inscrit. Dommage que le site ne soit qu’en anglais, mais l’informatique, ça se comprend bien en anglais.

      Je me suis inscrite également, mais moi aussi j’ai trouvé leur inscription compliquée.
      Je n’ai pas eu à choisir un mot de passe de 24 caratère par contre. J’en ai créé 1 avec le minimum de caractère: 12, avec 1 majuscule, 1 seul chiffre (ils sont compliqués IBM!).
      Je ne suis pas informaticienne, mais j’aimerais un jour prendre le temps d’apprendre ce langage.

      1. Il y a plusieurs cours de COBOL en ligne -> https://www.techradar.com/best/cobol-online-courses
        Mais celui d’IBM ne semble plus accessible.

        Si on cherche COBOL sur le site d’IBM pour les programmeurs, on trouve le cours suivant, qui semble destiné aux programmeurs système ->
        https://www.ibm.com/blogs/ibm-training/free-course-announcing-learning-cobol-programming-with-vscode/

        Sur le site d’IBM, on réfère aussi au cours suivant ->
        https://www.openmainframeproject.org/all-projects/cobolprogrammingcourse

        Il me semble très intéressant.

        On trouve aussi un portail COBOL invitant sur le site d’IBM ->
        https://developer.ibm.com/languages/cobol/

        Etrangement, il n’existe pas de cyberlettre d’IBM pour le COBOL, mais plutôt pour Java…

        La compagnie opentext me semble aussi avoir un produit intéressant pour apprendre le COBOL ->
        https://www.microfocus.com/fr-fr/products/visual-cobol-personal-edition/overview

        Les outils de développement « visuels » sont habituellement pourvus d’aide pour la mémoire, ce qui facilite l’apprentissage.

        En passant, j’ai déjà commencé à apprendre les langages HTML, CSS et JavaScript, mais quand je me suis rendu compte qu’il me faudrait aussi apprendre à utiliser des librairies spécialisées de JavaScript pour l’utiliser dans un contexte de production, j’ai déchanté. Alors apprendre COBOL me semble une alternative intéressante, à la condition qu’il n’y ait pas que les bureaux de consultation qui soient considérés par les donneurs d’ouvrage.

  9. Céline, je suis disponible pour la SAAQ, une nuit par semaine en mode télétravail. La nuit que je décide selon ma disponibilité hi, hi.

    Pas surpris de tout ceci, les ministères et sociétés de l’état du Québec maintiennent des vieux systèmes depuis toujours !!!

    Au début des années 70, j’avais un ami de Montréal, aussi gradué en physique comme moi, qui a accepté un poste au Ministère du Revenu qui l’ont formé en Assembleur, imagine !

    Deux ans plus tard il a transféré à la RAMQ ! Dans ces mêmes années, j’étais employé d’IBM pour l’implantation et le débogage d’un système de communication CICS et avec un collègue nous devions assurer une formation aux programmeurs Assembleur et Cobol à la CAT Commission des accidents du Travail du Québec, plus tard renommée CSST.

    Python, Java, C# et PHP connaît pas !!!!!!!!!!!

Les commentaires sont fermés.