Cobol, una nuova giovinezza

Dal 1959 ad oggi ne sono cambiate di cose. È cambiato anche il Cobol che, però, continua ad essere il linguaggio di programmazione su cui si basano le caratteristiche di stabilità, affidabilità e sicurezza delle applicazioni di business. Un linguaggio “vecchio” che però ha fatto della semplicità e versatilità la sua forza, modernizzandosi nel tempo e garantendo nuove opportunità ad ogni epoca tecnologica. Come adesso, nell’era del cloud computing.

Pubblicato il 07 Mar 2011

Common Businnes Oriented Language. È il Cobol, un linguaggio di programmazione utilizzato a livello internazionale per lo sviluppo di applicazioni gestionali di business. È uno dei più vecchi linguaggi di programmazione, sviluppato nel 1959 da un gruppo di professionisti riuniti alla Conference on Data Systems Languages (Codasyl). Un comitato di aziende, enti e professionisti, pubblicò nel 1960 una prima bozza delle specifiche del linguaggio 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 con questo linguaggio di funzionare correttamente anche sui moderni sistemi operativi.
Dalla prima versione, infatti, il linguaggio ha subìto molte modifiche e miglioramenti. Nel tentativo di superare le numerose incompatibilità tra le varie versioni, l’American National Standards Institute (Ansi) annunciò uno standard nel 1968, che produsse l’Asn-Cobol.
Nel 1974 venne pubblicata una nuova revisione con molte funzioni che non erano state previste nel ’68. E nel 1985, sempre dall’Ansi, venne resa pubblica un’ulteriore revisione con l’aggiunta di nuove funzioni.
Ancora oggi, il linguaggio si evolve (attualmente è disponibile in una versione object-oriented inclusa nel cosiddetto Cobol 97) ma continua ad essere ampiamente utilizzato per la sua stabilità ma anche per la sua semplicità: il Cobol prevede infatti che i programmi vengano scritti utilizzando semplici frasi della lingua inglese, con una sintassi, quindi, molto semplice e vicina alla lingua naturale; pertanto è adatto a predisporre programmi facilmente comprensibili (il linguaggio si basa convenzionalmente sulla lingua inglese ed è composto sommariamente da parole, istruzioni, gruppi di istruzioni, paragrafi e sezioni).

Cobol, linguaggio uniforme
La prolissità della sua sintassi è forse il motivo principale per cui oggi il Cobol è così lontano dalla sua origine e ha saputo trasformarsi nel corso degli anni e adattarsi ai cambiamenti tecnologici. Nonostante alcuni vincoli di forma nella struttura che il programma sorgente deve avere, infatti, gli esperti riconoscono a questo linguaggio una valida capacità nella gestione dei dati, avvicinandosi alle funzionalità di un sistema di gestione di basi di dati (Dbms).
Il linguaggio Cobol, come accennato, è nato da un comitato di utenti e di aziende (in particolare produttori di computer), che aveva come obiettivo principale creare un linguaggio di programmazione che avesse la capacità di rimanere uniforme su tutte le piattaforme e i sistemi operativi.
In linea di massima, si tende a considerare il linguaggio C quale esempio di programmazione standard ma va sottolineato che il Cobol lo è altrettanto e che i contesti di riferimento dei due linguaggi sono differenti: il linguaggio C, in generale, serve a consentire la migrazione di un sistema operativo da una macchina all’altra, mentre il Cobol è pensato per la migrazione di programmi applicativi su architetture fisiche e sistemi operativi differenti (oggi, per altro, anche su architetture virtuali e cloud).
Tecnicamente, il linguaggio Cobol è fatto per poter funzionare su sistemi operativi che possono anche essere privi di qualunque astrazione dell’hardware (una porzione apposita nella struttura del sorgente, nelle versioni precedenti, era riservata alla dichiarazione delle unità fisiche per lo scambio dei dati, la cosiddetta “environment division”; oggi lo scambio di dati può avvenire anche su unità virtuali).
Il segreto del successo che dura ormai da più di 50 anni, quindi, è proprio legato al fatto che con questo linguaggio ci sia la possibilità di operare con la maggior parte dei sistemi fabbricati dal 1959 in poi. Elaboratori che oggi non si chiamano più così, che forse nemmeno esistono più, che stanno diventando sempre più virtuali e nebulosi (in riferimento al “cloud”), ma che ancora contano sulla potenza del Cobol.

Un linguaggio tutt’altro che in pensione
Dopo oltre 50 anni di onorata carriera, comunque, il Cobol non ha alcuna intenzione di andare in pensione e benché le nuove tecnologie avanzino, questo linguaggio sta dimostrando di essere all’altezza dei sistemi più “giovani”.
Negli ultimi decenni, infatti, il Cobol ha sviluppato un rapporto pressoché simbiotico con il mondo dell’lt aziendale: la crescente dipendenza dalle informazioni digitali che caratterizza le attività della maggior parte delle imprese e della pubblica amministrazione ha richiesto l’implementazione di applicazioni affidabili basate
sul Cobol a supporto delle infrastrutture It (basti pensare che oggi la media di utilizzo dei telefoni cellulari, carte di credito, bancomat, sistemi di prenotazione viaggi e altro ancora è di 90 volte a settimana e si tratta di tipologie di transazione che si basano proprio sul linguaggio Cobol – fonte: studio condotto online negli Stati Uniti da Harris Interactive per conto di Butler Group; le interviste sono state raccolte presso un campione di 2.397 maggiorenni americani).
Il Cobol è ovunque; nonostante resti una tecnologia sconosciuta a milioni di persone che inconsapevolmente la utilizzano su base quotidiana (sempre secondo l’indagine di Butler Group, il 77% degli intervistati si è detto completamente inconsapevole al riguardo. Da un analogo sondaggio condotto nel Regno Unito da parte di YouGov Plc è emerso che in questa nazione gli utenti interagiscono con il Cobol ben 10 volte al giorno, ma che solo il 18% ne ha sentito parlare).
Questo linguaggio ha una portata talmente vasta che risulta ormai impensabile riuscire a farne a meno. In base alle statistiche, il Cobol svolge un ruolo essenziale soprattutto nel mondo business. Esistono più di 200 miliardi di linee di Cobol, un dato che equivale all’80% del codice attivamente utilizzato a livello mondiale. Stando proprio ai dati pubblicati da Butler Group, a livello mondiale, attualmente sono in esercizio applicazioni mainframe per un valore di 2 miliardi di dollari, con le quali vengono gestite circa il 70% di tutte le transazioni eseguite a livello mondiale.
Se anche ipotizzassimo di riscrivere tutte queste applicazioni per “stare al passo con i tempi” e, soprattutto, con le nuove tecnologie, quanto tempo servirebbe? Con quali costi e sforzi in termini di skill e risorse dedicate?

Il “vecchio” si modernizza
Come abbiamo, visto, il Cobol è stato oggetto di continue revisioni e adattamenti. E lo è tutt’ora. Questo linguaggio, infatti, viene continuamente aggiornato ampliandone le capacità di recepire tutte le opportunità offerte dall’innovazione tecnologica: oggi il Cobol supporta le tecnologie a oggetti, l’interscambio di dati Xml, l’integrazione con Java, le piattaforme J2EE, .Net, le architetture Soa, virtuali e cloud.
È in grado di sfruttare le capacità delle più moderne piattaforme a 64-bit e supporta tutti i tipi di database attualmente in uso in modo nativo o via ODBC/JDBC (driver che fa da ponte e serve per chiamare i dati da un database che non supporta il linguaggio Java).
Le applicazioni inizialmente sviluppate per girare, per esempio, sui mainframe Ibm System 700 possono oggi essere predisposte per migrare verso piattaforme Soa, per integrarsi con nuovi sistemi legati al web 2.0 (sviluppando, per esempio, anche web services), e arrivare anche ad integrarsi ed evolversi su piattaforme di cloud computing (Amazon o Microsoft).
Spostare le applicazioni Cobol esistenti all’interno di piattaforme Soa, integrare questo “vecchio” linguaggio con quelli nuovi come Java e Xml, non è più un’utopia. Oggi è ormai possibile inserire il Cobol nella cloud, trasformando le applicazioni in servizi cloud privati, a disposizione esclusivamente dell’azienda, o in applicazioni cloud a disposizione di tutto il mercato.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati