Venti anni dopo il Millennium Bug il linguaggio di programmazione Cobol torna al centro dell’attenzione per via dell’emergenza coronavirus. Negli Stati Uniti Ibm annuncia dei corsi per convertire giovani programmatori al linguaggio nato nel 1959 come parte del lavoro su Flow-Matic progettato da Grace Hopper. L’obiettivo è cercare di risolvere il problema della scarsità di tecnici esperti in questo settore, che oggi si rivela nuovamente critico. Il Cobol infatti viene usato ancora oggi per gestire alcuni dei sistemi strategici delle pubbliche amministrazione e grandi aziende. In particolare, è usato per i sistemi di gestione delle liste di disoccupazione e dei relativi sistemi di regolazione degli assegni della maggior parte degli Stati americani. E nessuno è più in grado di riparare o aggiornare i vecchi software, che manifestano numerose inefficienze anche per via dello stress a cui sono sottoposti con l’esplosione della disoccupazione: dal 4,4% della popolazione attiva al 13%, con stime che si arriverà al 20% prima della fine dell’emergenza coronavirus.
La situazione è talmente critica che il Congresso americano avrebbe deciso di dare un assegno di disoccupazione straordinario “flat” del valore di 600 dollari ai milioni di disoccupati che si sono iscritti alle liste nelle ultime settimane anziché calcolare il bonus sulla percentuale del loro ultimo stipendio per colpa del Cobol. Infatti, sarebbe semplicemente impossibile eseguire i calcoli necessari a calcolare la cifra corretta. Secondo una stima degli esperti del Congresso, infatti, fare un calcolo con le percentuali sul rimborso con l’attuale configurazione software richiederebbe a ciascuno Stato cinque o più mesi di tempo.
Il Cobol, il cui nome è l’acronimo di “common business-oriented language” è un linguaggio di programmazione pensato soprattutto per essere utilizzato dai sistemi amministrativi, aziendali e soprattutto finanziari. Utilizzato prevalentemente sui sistemi legacy (tipicamente dei mainframe) è tutt’ora estremamente efficiente per quanto riguarda l’esecuzione di una serie di funzioni di calcolo.
Il problema è che con il tempo i programmatori esperti di questo sistema sono sempre meno. E oggi negli Usa sono ridotti a poche decine, assolutamente insufficienti per gestire le richieste di assistenza, modifica e manutenzione del codice sorgente. I governatori del New Jersey, del Connecticut e del Kansas hanno dichiarato che i loro sistemi dedicati alla gestione dei disoccupati utilizzano il Cobol anziché linguaggi più moderni. Sono almeno venti anni che ai nuovi programmatori che escono dalle università americane non viene insegnato il Cobol in nessuno dei corsi principali.
“Il nostro sistema che gestisce le liste di disoccupazione – ha detto il governatore del New Jersey, Phil Murphy – ha 40 e più anni”. Lo Stato del New Jersey non ha più programmatori assunti o freelance che sappiano intervenire sul codice sorgente del loro sistema. E il balzo della disoccupazione rende le cose molto più complicate.
La soluzione, secondo alcuni governatori americani, è il ricorso alla collaborazione con il settore privato. Lo Stato di New York ad esempio ha fatto un accordo con Google per creare un sistema, già implementato, che permette di gestire qualsiasi richiesta di assegno di disoccupazione entro 72 ore.
Ibm, il principale produttore di mainframe ancora in affari, ha deciso di riprendere in mano il materiale che ha a disposizione per l’addestramento dei tecnici di programmazione e ha annunciato che metterà online una serie di corsi, sia sul proprio portale Talent Match che su piattaforme come Coursera.
Il problema ovviamente non sono le inefficienze del Cobol, che rimane comunque efficace in quanto linguaggio teorico, quanto il modo con il quale è stato progettato il software e i bisogno di manutenzione, cioè il rischio obsolescenza che si corre utilizzando applicativi scritti in alcuni casi più di cinquanta anni fa per sistemi molto più lenti di quelli attuali, e soprattuto utilizzando strutture di dati a silos mal definite.
I critici di questo tipo di approccio ricordano il lavoro di Taavi Kotka, ex Cio dell’Estonia, che aveva stabilito per il suo Paese la policy nazionale “no legacy”: «Non finanziamo il mantenimento di codice in produzione più vecchio di 13 anni». È considerata da molti analisti una delle strategie chiave che ha consentito invece al piccolo stato baltico di fare un rapidissimo salto attraverso i processi di trasformazione digitale.