COBOL è ancora ovunque, anche se spesso non lo vediamo.
Ne abbiamo parlato qualche giorno fa in un nostro articolo, dove in Italia, l‘azienda SOGEI sta cercando degli specialisti su questo linguaggio di programmazione.
Negli Stati Uniti, il COBOL gestisce il 95% delle transazioni agli ATM. E parliamo di centinaia di miliardi di righe che continuano a girare ogni giorno in sistemi finanziari, compagnie aeree e apparati pubblici. In sintesi, il COBOL regge una parte enorme dell’infrastruttura digitale.
Il punto è che i programmatori che lo conoscono bene stanno diminuendo. Molti sviluppatori che lo avevano scritto o mantenuto sono andati in pensione anni fa, e con loro se n’è andata una quantità enorme di conoscenza pratica. La documentazione? Spesso rimasta indietro.
E trovare nuovi ingegneri capaci di leggerlo… diventa sempre più complicato.
L’azienda dei fratelli Amodei che produce i modelli che alimentano Claude Code, ha recentemente pubblicato un articolo, dove riporta che la programmazione in codice COBOL può essere aiutata e modernizzata con l’aiuto di Claude. L’effetto non è stato dei migliori per l’azienda che ha fatto del COBOL parte del suo business come IBM che ha perso il 10% in un solo giorno, ma questo è un altro discorso.
Modernizzare COBOL non è come aggiornare software un po’ datato riporta anthropic. Qui si tratta spesso di decifrare logiche di business costruite decenni fa, quando il contesto tecnologico era completamente diverso.
E’ quindi un lavoro di ricostruzione, più che semplice refactoring.
Un esempio sono i sistemi modificati per anni, con dipendenze cresciute lentamente. Alla fine nessuno ricorda più davvero come tutto sia collegato e funzioni senza toccarlo. E allora le organizzazioni si trovano davanti a una domanda scomoda.
Quanto vale la pena toccarlo?
Per molto tempo la risposta è stata no. Servivano squadre enormi di consulenti, anni di analisi e costi davvero pesanti. Non sorprende che molti progetti di modernizzazione si siano fermati prima ancora di iniziare.
Qui entra in gioco l’intelligenza artificiale. Strumenti pensati per analizzare il codice riescono a esplorare basi COBOL enormi, mappando relazioni e dipendenze che prima richiedevano mesi di lavoro umano. E questa parte, diciamolo, era quella che faceva lievitare i costi.
L’AI legge l’intero codice, individua i punti di ingresso dei programmi, segue i percorsi di esecuzione e osserva come i dati passano tra moduli diversi. Non si limita ai grafi di chiamata classici: intercetta anche legami impliciti tra file, database e strutture condivise.
Da questa analisi emergono anche flussi operativi che nessuno ricordava più. Diagrammi, descrizioni dei processi, percorsi dei dati. Roba che spesso esisteva solo nel codice.
“La modernizzazione di un sistema COBOL una volta richiedeva eserciti di consulenti che passavano anni a mappare i flussi di lavoro. Strumenti come Claude Code possono automatizzare le fasi di esplorazione e analisi che assorbono la maggior parte dello sforzo nella modernizzazione di COBOL”, ha dichiarato Anthropic in un post sul blog lunedì.
Una volta mappato il sistema, diventa più chiaro cosa muovere prima e cosa trattare con cautela. Alcuni moduli risultano isolati e quindi più semplici da aggiornare, altri invece sono collegati a mezzo sistema.
Qui serve comunque il giudizio umano. Gli ingegneri valutano normative, priorità aziendali e rischi operativi mentre l’AI propone una sequenza di interventi basata su dipendenze e complessità. Ti fideresti solo della macchina? Io no, onestamente.
L’implementazione poi procede a piccoli passi. Componenti modernizzati vengono testati per produrre gli stessi risultati del COBOL originale, mentre parti nuove e vecchie convivono durante la transizione.
La ricerca e l’approccio descritti arrivano dal lavoro pubblicato da Anthropic, che nel materiale originale spiega come strumenti come Claude Code possano accelerare l’analisi e ridurre i tempi di modernizzazione dei sistemi storici. Il documento completo è disponibile qui: How AI helps break the cost barrier to COBOL modernization.
Per la community di Red Hot Cyber, c’è un punto focale che occorre tenere in considerazione senza troppi giri di parole. L’uso dell’AI nello sviluppo e nella modernizzazione del codice, incluso il cosiddetto “vibe coding”, può aiutare molto quando ci si trova davanti software vecchio, poco documentato o scritto in modo disordinato. In questi casi gli strumenti basati su AI riescono davvero a facilitare l’analisi del codice, a individuare logiche nascoste e, spesso, a proporre anche una riscrittura più moderna.
Detto questo, non è magia.
Il codice generato o trasformato dall’AI può introdurre bug, compresi problemi di sicurezza che non sono immediatamente evidenti. Capita più spesso di quanto si pensi che il codice generi bug o introduca vecchie vulnerabilità. Ed è qui che entra in gioco il lavoro umano: revisione attenta, debugging serio e test approfonditi restano indispensabili. Senza questi passaggi, il rischio di portarsi dietro errori nel nuovo sistema diventa reale.
Nel caso dei sistemi COBOL la questione è ancora più delicata. Avviare programmi modernizzati senza un processo completo di debug e senza verificare con attenzione le basi dati può generare effetti imprevedibili sui sistemi in esercizio. A volte piccoli cambiamenti logici possono impattare flussi operativi che dipendono da anni da quel codice.
Un amico della community di Red Hot Cyber, Marco Camisani Calzolari, lo ripete spesso: usare l’intelligenza artificiale oggi è importante, anche per non perdere competitività. Però bisogna farlo con testa. L’AI è un alleato potente, ma non è un sostituto delle competenze umane.