In questi giorni forse avrete sentito parlare del linguaggio di programmazione COBOL, uno sconosciuto tra i programmatori più giovani che in realtà è alla base delle applicazioni sviluppare per le banche, assicurazioni e commerciali in genere. Oggi dopo circa 80 anni dalla nascita è più vivo che mai
La discussione sul linguaggio di programmazione COBOL nasce come naturale conseguenza di un fatto molto particolare: l’emergenza coronavirus negli Stati Uniti ha messo in crisi i sistemi informatici delle istituzioni governative, bancarie e sanitarie che hanno bisogno di essere aggiornati, ma la cosa si sta rivelando parecchio complessa. Perché?
Gran parte delle applicazioni sono scritte in COBOL, un linguaggio di programmazione nato negli anni ’60 e che ancora oggi fa girare una quantità enorme di applicazioni, soprattutto nel mondo della banche, assicurazioni e enti governativi. L’anzianità non si limita solamente al linguaggio, ma riguarda anche gli stessi programmatori; al giorno d’oggi infatti risulta esser poco diffuso fra i più giovani. Diamo uno sguardo più ravvicinato a questo linguaggio di programmazione immortale.
Il linguaggio COBOL e la base dell’informatizzazione delle aziende commerciali
Agli albori dell’era dei computer la programmazione era riservata solo alle applicazioni scientifiche e militari. Nessuno pensava direttamente alle aziende commerciali che invece avrebbero potuto trarre un gran bel profitto dal processo di informatizzazione. COBOL è un linguaggio compilato, quindi a partire dal codice sorgente si possono compilare vari script per diverse macchine. Oggi è la normalità, ma all’epoca la portabilità del codice non era ancora scontata e molto spesso si programmava con linguaggi a basso livello, specifici per ogni tipo di architettura. La sua portabilità probabilmente contribuì al suo successo.
Il nome del linguaggio è l’acronimo di “COmmon Business-Oriented Language” ossia “linguaggio comune orientato alle applicazioni commerciali”. Lo scopo era proprio quello di creare uno strumento universale che potesse essere utile alle aziende. L’idea parte nel 1959 grazie alla collaborazione di un gruppo di industriali, che si accorse delle potenzialità delle applicazioni informatiche anche oltre l’universo scientifico e militare, con alcune agenzie governative statunitensi.
L’idea era proprio creare un prodotto adatto alle applicazioni commerciali. Nasce così il linguaggio COBOL, con l’intercessione di una grande informatica come Grace Murray Hopper. Il linguaggio è stato rapidamente standardizzato dai principali enti internazionali ed adottato in numerosi ambiti: banche, assicurazione e istituzioni governative. Insomma venne utilizzato nei grandi main frame che dovevano gestire enormi database e operazioni di transazione.
Attuale, ma dimenticato
Non molti hanno sentito parlare di COBOL oggigiorno. Il tempo passa, la tecnologia si evolve ed oggi ormai le applicazioni non vengono più sviluppate con questo linguaggio, ma con altri più moderni che interagiscono con il vecchio framework. Tuttavia quando si devono mettere le mani a basso livello, per esempio quando si ha la necessità di scalare il sistema, è necessario conoscere questo vetusto personaggio che ancora oggi fa funzionare il 70-80% del mondo bancario.
È naturale pensare quindi che sia importante studiare ancora oggi questo linguaggio. Sì e no. Uno dei motivi per cui COBOL è conosciuto pochissimo dai giovani studenti è che il mondo accademico non ha partecipato molto al progetto. Questo infatti era e rimane una trovata dedicata interamente al mondo commerciale e quindi in pochi possono e vogliono insegnarlo. C’è anche da dire che si sviluppa molto meno in COBOL oggi: solo quando sono necessari interventi a basso livello si deve ricorrere a questo strumento. La sintassi del linguaggio inoltre non è molto semplice.
La sintassi di COBOL non è fra le più eleganti
Quando il linguaggio fu creato si utilizzavano ancora le schede forate per programmare. Il che implica che la sintassi originale imponeva un uso rigoroso e preciso degli spazi. Essenzialmente si aveva una specie di tabella da riempire con i caratteri delle istruzioni in posizioni predefinite. Non molto comodo in effetti.
Inoltre la sintassi delle istruzioni era stata organizzata per assomigliare alle frasi in inglese, tant’è che le istruzioni o gruppi di istruzioni si chiamano anche “periodi” e terminano con un punto. Probabilmente è stato adottato questo metodo per rendere più semplice l’utilizzo a persone che non avevano troppe competenze informatiche. Tuttavia l’effetto collaterale è che anche per realizzare delle operazioni semplici si doveva scrivere un piccolo poemetto, rendendo il programma difficile e tedioso da leggere a posteriori.
Anche dal punto di vista della programmazione poteva risultare altrettanto tedioso. Per questo linguaggio infatti sono previste oltre 300 parole chiave. Inoltre alcuni costrutti di base come i cicli non erano previsti e si utilizzava un approccio molto simile ai linguaggi Assembly con istruzioni “IF” e “GOTO”. Insomma COBOL non era uno dei linguaggi “smart” e di alto livello cui siamo abituati oggi, ma molto più vicino ad Assembly.
Perché COBOL è ancora importante?
Il motivo principale è economico: ad oggi non si sono verificati eventi o situazioni che richiedessero l’esplicita riscrittura dell’intero framework dei sistemi basati su COBOL. Ci si è arrangiati aggiungendo dei moduli compatibili. Convertire le applicazioni COBOL in linguaggi moderni potrebbe essere molto dispendioso.
Un problema ad esempio è la gestione dei formati numerici e delle variabili in quanto COBOL non è molto dinamico. Quando si utilizza un numero infatti, si specifica anche come deve essere rappresentato e poi tocca al compilatore effettuare tutte le conversioni gravando molto sulle prestazioni. Le variabili inoltre sono solamente globali e anche la loro dimensione deve essere fissata in anticipo.
I linguaggi moderni invece utilizzano dei paradigmi diversi. Diciamo che sarebbe possibile in linea teorica una conversione, ma il costo sarebbe altissimo e per adesso non c’è nulla che lo giustifichi. Essenzialmente è questo il motivo per il quale COBOL è ancora vivo e vegeto. Dagli anni ’60 fino ad oggi il linguaggio si è molto evoluto: la sintassi è diventata meno stringente ed è stata inserita la programmazione orientata agli oggetti. In effetti ai giorni nostri questo linguaggio non sembra nulla di speciale, semplicemente continua a funzionare bene. Forse in futuro le nuove esigenze porteranno all’abbandono definitivo, ma è presto per il verdetto finale. Dalla sezione software è tutto, continuate a seguirci!
Lascia un commento