Almeno 800 miliardi di righe di COBOL (COmmon Business Oriented Language), ancora in produzione a livello globale, gestiscono ogni giorno miliardi di transazioni, nei sistemi di banche e assicurazioni, nelle pubbliche amministrazioni centrali, nella sanità, nelle prenotazioni aeree, nelle fatturazioni telco, nel retail, nelle operazioni bancomat. La longevità delle applicazioni COBOL deriva dalla loro resilienza e adattabilità che consente di svolgere un ruolo vitale nel mantenimento di questi sistemi legacy. Da considerare poi che, secondo un report di Forrester del 2024, il 61% delle aziende globali utilizza il mainframe e, fra le aziende che lo usano, il 54% prevede di intensificarne l’utilizzo.
FAQ: cobol
Che cos’è il COBOL e quando è nato?
Il COBOL (Common Business-Oriented Language) è un linguaggio di programmazione nato il 28 maggio 1959, sviluppato da un comitato di grandi aziende informatiche dell’epoca (Burroughs, IBM, Minneapolis-Honeywell, RCA, Sperry Rand, Sylvania Electric Products) e alcune agenzie governative statunitensi. Fu creato come progetto del Dipartimento della Difesa USA per un’accurata gestione dei loro dati e realizzato per durare il più a lungo possibile, anche oltre i suoi ideatori Grace Hopper, Jean Sammet e altri. La prima bozza delle specifiche del linguaggio fu pubblicata nel 1960 e da allora le specifiche sono state continuamente aggiornate attraverso una serie di documenti che hanno portato all’ultima versione del linguaggio, che prevede di sfruttare le nuove tecnologie per consentire alle soluzioni sviluppate di funzionare correttamente anche sui moderni sistemi operativi.
Perché il COBOL è ancora utilizzato oggi nonostante la sua età?
Il COBOL è ancora ampiamente utilizzato oggi, nonostante la sua età, per diverse ragioni fondamentali. Innanzitutto, almeno 800 miliardi di righe di COBOL sono ancora in produzione a livello globale, gestendo ogni giorno miliardi di transazioni nei sistemi bancari, assicurativi, nelle pubbliche amministrazioni, nella sanità e nel retail. La sua longevità deriva dalla resilienza e adattabilità che consente di mantenere questi sistemi legacy. La semplicità e la versatilità sono altri fattori chiave: il COBOL utilizza semplici frasi della lingua inglese con una sintassi vicina al linguaggio naturale, rendendo i programmi facilmente comprensibili. Inoltre, il COBOL è stato progettato per rimanere uniforme su tutte le piattaforme e i sistemi operativi, garantendo la portabilità delle applicazioni. Infine, il costo stimato per la riscrittura dei programmi COBOL (circa 25 dollari a linea) rende economicamente insostenibile la sostituzione completa di questi sistemi.
Quali sono i settori che utilizzano maggiormente il COBOL?
Il COBOL è particolarmente diffuso in settori che richiedono elaborazione di transazioni ad alto volume e sistemi mission-critical. Il settore finanziario e bancario è in prima linea, con il 90% delle transazioni finanziarie globali eseguite in codice COBOL. Le applicazioni gestiscono operazioni bancarie quotidiane, transazioni con carte di credito e sistemi bancomat. Le pubbliche amministrazioni centrali utilizzano estensivamente il COBOL per la gestione di servizi essenziali. Altri settori chiave includono la sanità (per la gestione dei pazienti), le compagnie aeree (sistemi di prenotazione), le telecomunicazioni (sistemi di fatturazione) e il retail (registratori di cassa e gestione dell’inventario). Secondo le stime di Butler Group, il 60-80% delle imprese mondiali basa ancora oggi le proprie attività di business su applicazioni che utilizzano questo linguaggio.
Come si è evoluto il COBOL nel corso degli anni?
Il COBOL ha subito numerose evoluzioni dalla sua creazione nel 1959. Nel 1968, l’American National Standards Institute (ANSI) pubblicò uno standard chiamato ANSI-COBOL per superare le incompatibilità tra le varie versioni. Seguirono revisioni significative nel 1974 e nel 1985, ciascuna con l’aggiunta di nuove funzionalità. Nel 1997 fu rilasciato il COBOL 97, che introdusse la programmazione orientata agli oggetti. Negli anni recenti, il COBOL si è adattato alle tecnologie moderne, supportando tecnologie a oggetti, interscambio di dati XML, integrazione con Java, piattaforme J2EE e .NET, architetture SOA, ambienti virtuali e cloud. Le nuove versioni come Visual COBOL R3 permettono agli sviluppatori di estendere il COBOL verso piattaforme più recenti, inclusi ambienti JVM (Java Virtual Machine) e Microsoft Windows Azure, senza dover riscrivere il codice.
Quali sono le sfide attuali legate all’uso del COBOL?
Una delle principali sfide legate all’uso del COBOL oggi è la carenza di competenze, poiché i programmatori esperti in questo linguaggio stanno andando in pensione mentre le nuove generazioni sono formate su linguaggi più moderni. Secondo uno studio di Micro Focus, meno di un terzo dei CIO (29%) afferma di riuscire a reclutare risorse professionali sufficienti nell’ambito della modernizzazione delle applicazioni COBOL. Un’altra sfida significativa è rappresentata dai costi crescenti della manutenzione applicativa di sistemi legacy spesso scarsamente documentati. Le aziende devono inoltre trovare un equilibrio tra la necessità di modernizzare le applicazioni per rispondere alle esigenze di agilità del business e la capacità di preservare le funzionalità esistenti e l’integrità dei dati. L’integrazione con tecnologie moderne come il cloud computing rappresenta un’ulteriore sfida, richiedendo approcci di modernizzazione che non compromettano la stabilità dei sistemi esistenti.
Quali sono le opzioni per modernizzare le applicazioni COBOL?
Le organizzazioni hanno diverse opzioni per modernizzare le applicazioni COBOL. La prima è la riscrittura completa dell’applicazione in un linguaggio moderno, che ha senso solo se la logica di business è obsoleta, poiché richiede tempi lunghi, costi elevati e comporta rischi significativi. La seconda opzione è la conversione automatica del COBOL in un linguaggio moderno, anche se i prodotti disponibili sul mercato non hanno finora soddisfatto pienamente le aspettative. Secondo un’indagine di Vanson Bourne commissionata da MicroFocus, la scelta preferenziale (64% degli intervistati) è la modernizzazione delle applicazioni esistenti anziché la loro sostituzione. Micro Focus propone soluzioni specifiche come Enterprise Analyzer, Enterprise Developer, Enterprise Test Server ed Enterprise Server per facilitare questo processo. Recentemente, IBM ha introdotto watsonx Code Assistant for Z, uno strumento basato su AI generativa che supporta la trasformazione del codice COBOL in Java, migliorando la produttività degli sviluppatori e riducendo i rischi associati alla modernizzazione.
Come si integra il COBOL con le moderne tecnologie come il cloud computing?
Il COBOL si è evoluto per integrarsi efficacemente con le moderne tecnologie, incluso il cloud computing. Oggi il COBOL supporta tecnologie a oggetti, interscambio di dati XML, integrazione con Java, piattaforme J2EE e .NET, architetture SOA, ambienti virtuali e cloud. Le applicazioni COBOL possono essere trasformate in servizi cloud privati ad uso esclusivo dell’azienda o in applicazioni cloud disponibili per tutto il mercato. Soluzioni come Visual COBOL R3 di Micro Focus permettono agli sviluppatori di estendere il COBOL verso piattaforme cloud come Microsoft Windows Azure, senza dover riscrivere il codice. Questo consente di accelerare il time to market avendo a disposizione le applicazioni in tempi più rapidi. IBM ha sviluppato approcci per integrare il COBOL con il cloud, permettendo alle applicazioni di funzionare in ambienti containerizzati su motori specializzati come gli zIIP (z Integrated Information Processor), che non seguono la logica tradizionale del sistema operativo mainframe z/OS ma sono container su cui far girare traffico Java.
Quali sono i numeri che dimostrano l’importanza del COBOL nel mondo attuale?
L’impatto del COBOL nel mondo attuale è dimostrato da numeri impressionanti. Esistono almeno 800 miliardi di righe di codice COBOL ancora in produzione a livello globale, che gestiscono ogni giorno miliardi di transazioni. Il 75% dei dati aziendali mondiali viene gestito in linguaggio COBOL, così come il 90% delle transazioni finanziarie globali. Secondo Micro Focus, i sistemi COBOL sono responsabili del trasporto di oltre 72.000 container per le spedizioni, della cura di 60 milioni di pazienti, dell’elaborazione dell’80% delle transazioni nei punti vendita e delle connessioni via cellulare di 500 milioni di utenti. Ogni giorno, ci sono 200 volte più transazioni elaborate dalle applicazioni COBOL rispetto alle ricerche effettuate con Google. Secondo un report di Forrester del 2024, il 61% delle aziende globali utilizza il mainframe e, fra le aziende che lo usano, il 54% prevede di intensificarne l’utilizzo, confermando indirettamente l’importanza continuativa del COBOL.
Quali sono le caratteristiche principali del linguaggio COBOL?
Il COBOL (Common Business-Oriented Language) si distingue per diverse caratteristiche fondamentali. Una delle sue peculiarità principali è la semplicità della sintassi, che utilizza frasi della lingua inglese, rendendo i programmi facilmente comprensibili anche per non specialisti. È stato progettato specificamente per scrivere applicazioni che eseguono transazioni e elaborano dati da varie fonti. La portabilità è un altro punto di forza: in quanto linguaggio compilato, genera script per diverse tipologie di macchine e sistemi operativi, permettendo alle applicazioni di funzionare su piattaforme diverse. Il COBOL offre anche una valida capacità nella gestione dei dati, avvicinandosi alle funzionalità di un sistema di gestione di basi di dati (DBMS). La struttura del programma sorgente è organizzata in divisioni, sezioni, paragrafi e istruzioni, seguendo una gerarchia ben definita. Nel corso degli anni, il linguaggio ha evoluto le sue capacità per supportare tecnologie moderne come la programmazione orientata agli oggetti, XML, Java, e architetture cloud.
Quali sono le iniziative per formare nuovi programmatori COBOL?
Per affrontare la carenza di competenze COBOL, diverse iniziative sono state lanciate per formare nuovi programmatori. Micro Focus ha promosso l’iniziativa COBOL60 che include strumenti e soluzioni per approfondire la conoscenza del linguaggio, come il CobolAcademic Program volto a formare nuovi sviluppatori. L’azienda investe milioni di dollari ogni anno in prodotti per l’analisi e lo sviluppo di applicazioni COBOL, contribuendo alla diffusione delle competenze. Fare in modo che il COBOL resti una parte essenziale delle competenze tecnologiche è diventata un’azione prioritaria per aziende, pubbliche amministrazioni e università. IBM ha lavorato per raggiungere l’uniformità degli strumenti di sviluppo grazie all’integrazione dei tool del mondo applicativo mainframe con quelli del mondo distribuito, con l’obiettivo di realizzare una catena di DevOps unica e facilitare l’apprendimento per i nuovi sviluppatori. Queste iniziative mirano a colmare il gap generazionale e garantire la continuità nella manutenzione e nello sviluppo delle applicazioni COBOL critiche per il business.


















