COBOL tiene il mondo sotto scacco, ma il vero problema sta nella memoria aziendale

coding
(Image credit: Shutterstock / Gorodenkoff)

Non c'è dubbio che il mondo abbia un problema con COBOL. Banche, governi e sistemi aziendali sono sostenuti da un linguaggio di programmazione vecchio di 60 anni, che sempre meno persone capiscono.

Tornato alla ribalta per via di un blocco di alcuni servizi avvenuto nel mese di aprile negli negli Stati Uniti, il problema COBOL è considerato generalmente come una semplice carenza di competenze. Pertanto, sia IBM che Micro Focus , che svolgono il ruolo di comprimari nella manutenzione di COBOL, hanno lanciato due iniziative di formazione separate nel tentativo di incentivare un maggior numero di sviluppatori ad avvicinarsi a questo linguaggio di programmazione già da tempo fuori moda.

Tuttavia, è anche possibile che queste aziende abbiano male interpretato la vera natura di COBOL. Secondo la start-up hi-tech Phase Change Software, è abbastanza facile per uno sviluppatore esperto imparare COBOL, ma è molto più difficile applicare il linguaggio nel contesto applicativo del mondo reale.

"Il mercato vede il problema COBOL come una carenza di competenze, ma in realtà è un problema di conoscenza", ha affermato Steve Brothers, COO di Phase Change.

“Nelle applicazioni COBOL, sono presenti tipicamente milioni di righe di codice attivo e per eseguirne la necessaria manutenzione servono sviluppatori che sappiano capire cosa fa quel codice. Ma quando scrivi applicazioni complesse, il codice scritto al mattino diventa eredità nel pomeriggio."

Secondo Steve Brothers, quando gli sviluppatori cambiano azienda o vanno in pensione, le aziende subiscono una perdita di memoria storica. Così la tendenza è quella di risolvere i problemi trovando soluzioni alternative, ad esempio sovrapponendo nuovi strati di codice a quello esistente, invece di realizzare soluzioni originali.

Alla fine, questo atteggiamento porta a realizzare applicazioni ingombranti e pesanti che anche gli sviluppatori più esperti faticano a capire. Questo, secondo il COO di Phase Change, è il problema che merita l’attenzione più immediata.

Come affrontare il problema COBOL

Secondo i dati di Reuters, la maggior parte degli sviluppatori che hanno ancora familiarità con COBOL sono quasi tutti a fine carriera; solo l'11,5% ha meno di 35 anni, mentre il 18,8% ha 55 anni o più. E la popolarità del linguaggio tra gli sviluppatori in erba si trova su una traiettoria discendente dal 2002 circa, essendo sceso nel tempo dal 5° al 33° linguaggio nella classifica di quelli più popolari.

Tuttavia, sebbene affrontare questo squilibrio sia probabilmente il primo passo per risolvere il problema COBOL, i nuovi sviluppatori, non importa quanto talentuosi, tendono ad effettuare solo delle modifiche di ottimizzazione sulle applicazioni COBOL legacy.

I programmatori, all’atto pratico, sono ostacolati dalla paura di danneggiare le applicazioni che non capiscono e che difficilmente possono sperare di capire.

“La disponibilità di banche e assicurazioni a cambiare il codice COBOL è piuttosto bassa, perché si rendono conto che il rischio è piuttosto elevato. Tali società preferiscono pagare multe per mancanza di conformità, piuttosto che apportare modifiche al codice che potrebbero bloccare le applicazioni e mandare in crash i loro sistemi", ha riferito Brothers.

Nel tentativo di affrontare questo problematico status quo, Phase Change rilascerà presto uno strumento basato sull'intelligenza artificiale chiamato COBOL Colleague, che secondo l'azienda è in grado di indirizzare gli sviluppatori verso le sezioni specifiche di codice che richiedono maggiore attenzione.

Lo strumento è progettato essenzialmente per sostituire gli esperti in materia, sempre più carenti via via che passa il tempo. In teoria, gli sviluppatori nuovi dell’ambiente COBOL non avranno più bisogno di fare affidamento su colleghi esperti, come accade ora, ma saranno in grado di eseguire la manutenzione sulla parte del codice che necessita del loro intervento.

Gli sviluppatori moderni dedicano fino all'80% del loro tempo a identificare il codice problematico, afferma Brothers, indicando una ricerca condotta da Microsoft. Uno strumento in grado di ridurre drasticamente questo tempo di ricerca potrebbe non solo aggirare il problema della conoscenza COBOL, ma anche produrre notevoli miglioramenti in termini di produttività.

Una versione beta di COBOL Colleague è attualmente in uso presso una banca in Nord America e sono anche in corso trattative con una seconda banca, stavolta europea. Il lancio sul mercato dello strumento è previsto nel secondo trimestre del prossimo anno ma, fino ad allora, bisognerà incrociare le dita che tutti i sistemi continuino a funzionare senza grossi intoppi.