Wednesday, March 21, 2007

ByeBye (anzi: BYE BYE) Backus


Ieri e' venuto meno John Backus.

John ha lavorato per una vita all'IBM dove, nel lontano 1957 ha fatto un'invenzione che e' stata considerata fondamentale, un vero punto di svolta, nel mondo dei computer: il linguaggio Fortran.
A suo dire, l'invenzione e' dovuta al suo essere pigro.

Facciamo un piccolo esempio, e spieghiamo perche' il suo lavoro ha influenzato la vita di tutti noi.

ESEMPIO
-----------
Prima della sua invenzione, per "dire" ad un computer di fare operazioni anche banalissime occorreva una serie interminabile di comandi.

Ad esempio per dire in fortran di eseguire "nf" volte "qualcosa" in fortran si dice:

do 10 i=ns,nf,nstep
"QUALCOSA"
10 continue


Mentre "prima" si doveva fare cosi':
lwz R3,ns # load starting value of i
lwz R4,nf # load final value of i
subf R6,R3,R4 # nf - ns
lwz R5,nstep # load stepping increment
divw R6,R6,R5 # (nf - ns)/nstep
addi R6,R6,1 # (nf-ns)/nstep + 1 = number of iterations
cmpwi cr0,R6,1 # compare the number of iterations to 1
mr R7,R3 # set up induction variable i
blt cr0,out # goto out if number of iterations <>
mtctr R6 # load CTR with the number of iterations
loop:
"QUALCOSA"
add R7,R7,R5 # i = i + nstep (needed if program uses i)
bdnz loop # decrement and branch to loop if (CTR) 0
out:

(In realtà si doveva scrivere l'equivalente in "1" e "0", che e' ancora piu' lungo)

PERCHE E' IMPORTANTE

Forse lo avretegia' capito: se oggi possiamo prenotare un biglietto a basso costo su last.minute, se oggi possiamo chattare in rete, e' (anche) perche' spiegare ai computer come fare queste complesse operazioni e' possibile in tempi lunghi, ma non impossibilmente lunghi, grazie ai Linguaggi ad Alto Livello: quelli che hanno come capostipite il Fortran, l'invenzione di John.

Cris Marabotto, 21 marzo 2007

1 comment:

Anonymous said...

BABABA BUBUBU BRRR E allora doveva essere arrestato BABA BUBU perche' con l'Internet - badaben - ci sono i pedofili, BRRR, quelli veri, dico io, mica quelli in tonaca - i preti - che non e' mica vero, anzi e' una diffamazione, dico io BRRR BUBU BABABA