COBOL: un’idea tutta al femminile
Nell’articolo di oggi torniamo a parlare dell’importanza delle donne nell’informatica, focalizzando la nostra attenzione sulla figura di Grace Murray Hopper, inventrice del linguaggio di programmazione COBOL.
Biografia
Grace Murray Hopper, nata a New York nel dicembre del 1906, considerata uno dei pionieri della programmazione informatica, si è distinta per il suo impegno in ambito matematico, informatico e militare.
Curiosa fin da bambina nel conoscere il funzionamento dei più svariati congegni elettronici e non, ottenne il PhD in Matematica a Yale nel 1934.
Nel 1944, dopo essere divenuta luogotenente, lavorò presso l’Università di Harvard su Mark I, il primo calcolatore automatico di larga scala.
Quattro anni dopo entrò a far parte della Eckert-Mauchly Computer Corporation, società che in quel periodo stava progettando il primo vero e proprio computer commerciale: UNIVAC I.
Fino al 1986, anno in cui si ritirò dalla marina, riuscì a conciliare impegno militare e scientifico lavorando e raggiungendo risultati memorabili. Ottenne numerosi titoli dalle più prestigiose università del mondo e il suo nome venne dato al cacciatorpediniere della Marina Militare Statunitense USS Hopper.
Nel 2016, quattordici anni dopo la sua scomparsa, Barack Obama le conferì la Medaglia Presidenziale della Libertà.
Grace e le origini della parola “Bug”
Che si lavori nel campo informatico o meno, la parola “bug” sicuramente non ci è nuova. Attualmente usata per indicare un errore nel codice sorgente di un programma software, fu introdotta proprio da Grace Hopper in seguito ad un curioso avvenimento risalente al settembre del 1947.
Mentre con il suo gruppo stavano cercando la causa alla base del malfunzionamento di un computer Mark II, si accorsero con grande stupore della presenza di una falena all’interno dei circuiti.
In seguito Grace annotò sul proprio registro, ancora conservato presso lo Smithsonian National Museum of American History, la celebre frase:
“1545. Relay #70 Panel F (moth) in relay. First actual case of bug being found”
Una panoramica sul COBOL
Come dicevamo il COBOL, acronimo di Common Business Oriented Language, nato da un’idea del tutto femminile, è un linguaggio compilato, così come Java, C e C++, dove il codice sorgente deve essere convertito infatti in codice macchina, per poter essere successivamente eseguito; tali linguaggi hanno bisogno di buoni compilatori, in grado di lavorare velocemente e in modo efficiente.
Fu proprio l’IBM a dare origine al primo completo compilatore e il COBOL divenne il primo ad essere compilato su più architetture.
Prima della sua nascita infatti, tutti i sistemi operativi avevano il loro associato linguaggio di programmazione, ma questo rappresentava un ostacolo, in particolare per grandi compagnie, che si ritrovavano costrette a fare uso di dispositivi e computer di vari marchi.
Grazie alla sua portabilità, al suo facile utilizzo ad una continua collaborazione con IBM, impegnata a realizzare dispositivi sempre migliori, il COBOL acquisì fama molto rapidamente e divenne uno tra i più usati al mondo.
Negli anni ha subìto una continua evoluzione fino ad arrivare al 2002, anno in cui si è giunti allo standard definitivo, che include il supporto alla programmazione orientata agli oggetti e altre caratteristiche tipiche dei linguaggi moderni.
COBOL: architettura di un codice sorgente
Addentrandoci nella struttura di un qualunque codice scritto in COBOL possiamo notare la suddivisione in quattro divisioni:
- IDENTIFICATION DIVISION: qui vengono raccolte informazioni generiche sul programma, come nome, autore e data di creazione.
- ENVIRONMENT DIVISION: area riservata per riferimenti a file di input/output usati nel codice sorgente.
- DATA DIVISION: questa sezione può essere usata per definire differenti tipi di dato. Al suo interno troviamo dati usati nelle operazioni di input/output (FILE SECTION), variabili allocate staticamente (WORKING-STORAGE SECTION) e variabili invece allocate dinamicamente (LOCAL-STORAGE SECTION). Un programma può inoltre fare riferimento a dati di altri programmi, contenuti però nella stessa unit, tramite la LINKAGE SECTION.
- PROCEDURE DIVISION: qui vengono elaborati i dati definiti nelle altre divisioni. Si presenta a sua volta suddivisa in paragrafi contenenti dichiarazioni (chiamati anche statements) , frasi ed istruzioni da eseguire. Tra i primi troviamo statements condizionali, come IF ed EVALUTATE, poi abbiamo statements per operare su file, come OPEN, CLOSE, READ e WRITE. Infine, per concludere, troviamo numerosi verbi per svolgere operazioni su dati; alcuni esempi sono INITIALIZE, MOVE, SET, ADD, SUBTRACT, MULTIPLY, e DIVIDE.
Adesso, come da tradizione per ogni nuovo linguaggio, un piccolo esempio di programma che stampa a schermo “Hello World!”.
Uno sguardo sull’impiego attuale
Nonostante siano passati quasi sessant’anni dalla sua nascita e nonostante l’introduzione di nuovi linguaggi di programmazione sempre di più alto livello, per il COBOL non è ancora arrivato il momento di andare in pensione.
Secondo alcune stime, un’altissima percentuale degli ATM ne fa ancora uso.
Per approfondimenti sul COBOL, qui un valido manuale messo a disposizione da IBM.
Fonti:
Geniale!! Si sa, le donne hanno una marcia in piu!! Bell’articolo semplice, chiaro ma anche ricco di dettagli! Complimenti!!