Backus, John (1924-2007)

John Backus è stato lo sviluppatore nel 1953 del linguaggio Speedcoding per il modello IBM 701. Ma il suo più importante e noto contributo deriva dall’essere stato il responsabile in IBM dal 1954 (all’età di 30 anni) del team di sviluppo del linguaggio FORTRAN, acronimo per FORmula Translator, un linguaggio specializzato per applicazioni scientifiche.

Sino ad allora i programmi erano stati scritti direttamente in linguaggio macchina (inserendo le opportune combinazioni di bit tramite schede perforate o nasto perforato) oppure in linguaggi chiamati “assembly” nei quali ad ogni istruzione macchina corrispondeva una notazione simbolica, più facilmente memorizzabile dal programmatore.

John Backus era convinto sostenitore della necessità di migliorare la produttività della scrittura dei programmi, tramite un linguaggio “di alto livello”, più vicino al linguaggio umano, nel quale ogni istruzione fosse automaticamente convertita in un numero opportuno di istruzioni macchina. Occorreva pertanto sviluppare un programma che effettuasse questa non semplice conversione.

Questa esigenza, allora descritta con il termine “automatic programming” era già riconosciuta da molti; in particolare Grace Murray Hopper aveva sviluppato per lo UNIVAC il compilatore (termine da lei coniato per indicare che il programma avrebbe dovuto mettere insieme in sequenza tutti i pezzi di codice necessari) A-0 e poi il suo successore B-0, chiamato anche Flow-Matic).

I vari tentativi di scrivere un compilatore effettuati sino ad allora riuscivano a produrre codice macchina poco efficiente, cioè che veniva eseguito in modo molto lento e con spreco di memoria. Data la limitata potenza e capacità di memoria delle macchine di allora, questo rendeva improponibile l’uso di linguaggi di alto livello. La sfida raccolta dal team guidato da Backus fu proprio quella di riuscire a sviluppare un compilatore che producesse codice con una efficienza comparabile al codice scritto da un programmatore umano.

Il progetto si rivelò più complesso del previsto (fenomeno tipico per quasi tutti i grandi progetti software) e dopo vari ritardi il FORTRAN fu ufficialmente rilasciato in Aprile 1957 per il calcolatore IBM 704. In pochi mesi ne furono evidenti i vantaggi: in termini di codice prodotto o memoria occupata aveva una efficenza del 90% rispetto a quello di programmatori umani e il tempo di sviluppo veniva ridotto da giorni a ore. Dopo un anno, nell’aprile 1958, la metà delle 26 installazioni dell’IBM 704 usava il FORTRAN per la metà delle loro esigenze. In autunno, era utilizzato su oltre 60 sistemi.


Nel giro di un paio di anni il FORTRAN era diventato lo standard di fatto nella comunità scientifica. Un vantaggio significativo derivante dall’uso di un linguaggio di alto livello come il FORTRAN era che questo permetteva di scrivere programmi in modo (quasi) indipendente dalle macchine su cui i programmi dovevano essere eseguiti.

Era sufficiente che esistesse il compilatore per quella macchina, requisito che in pochi anni praticamente tutti i costruttori si affrettarono a soddisfare. Questo permise lo scambio di programmi fra vari enti di ricerca ed aziende e la crescita di una comunità di programmatori “intercambiabili”, accomunati dalla conoscenza del FORTRAN.

Nel 1959 venne rilasciata una seconda versione, il FORTRAN II, il cui sviluppo aveva richiesto 50 anni/uomo. Nel 1961 Daniel D. McCracken pubblicò il primo libro di testo sul FORTRAN, e da allora le università iniziarono ad insegnarlo nei loro corsi di laurea. Nel 1966 il FORTRAN divenne il primo linguaggio di programmazione ad essere formalmente standardizzato dall’American National Standards Institute (ANSI).

Backus va anche ricordato per i suoi contributi ai comitati internazionali che svilupparono il linguaggio ALGOL 58 e successivamente ALGOL 60. Sviluppò inoltre una notazione formale per la specifica dei linguaggi di programmazione, nota come Backus-Naur Form (BNF), che fu utilizzata per lo sviluppo di compilatori.


Fonti


error: