giovedì 10 ottobre 2013

I premi Turing: Alan Perlis


Chissà se nel 1966, quando venne assegnato il primo dei prestigiosi premi Turing, la commissione fu influenzata dal nome di battesimo del simpatico signore che vedete nella figura accanto, sul quale alla fine cadde la scelta.
Lo scienziato informatico americano Alan Jay Perlis, nato a Pittsburgh nel 1922 da una famiglia ebrea, portava infatti lo stesso nome del grande matematico al quale era stato intitolato il riconoscimento.
Ma i meriti di Perlis vanno ben al di là del nome (che casomai sarebbe stato un merito dei genitori: ma questo è un altro discorso).
Se oggi a scuola si studia l'informatica come si studiano la matematica, la storia e la filosofia, se ci si può iscrivere a un corso di laurea di "Informatica" o di "Ingegneria Informatica", se si sostengono esami di programmazione o di teoria dei compilatori, lo dobbiamo in parte anche a lui.

Quando il giovane Perlis si iscrisse all'università, la scienza dei calcolatori era ancora nella sua infanzia. Non esistevano ancora computer elettronici programmabili, né, tantomeno, linguaggi di programmazione. Erano passati solo tre anni dalla pubblicazione dell'articolo con il quale Alan Turing aveva di fatto fondato l'informatica come scienza. 
Naturalmente non esistevano nemmeno corsi di laurea in informatica: Perlis si iscrisse a chimica e si laureò nel dicembre del 1942.
Fu solo nel periodo del servizio militare, in piena seconda guerra mondiale, che il nostro Alan cominciò a studiare matematica: nel 1949 ottenne un master degree al MIT, e l'anno successivo conseguì il dottorato.
Nel 1952 lavorò al pionieristico progetto "Whirlwind", che mirava a realizzare un computer molto avanzato utilizzabile dalla marina militare americana come simulatore di volo. Negli anni successivi fu professore di matematica a Purdue e poi alla Carnegie Mellon.

In quel periodo, Perlis fu tra i primissimi ricercatori che si occuparono della definizione di nuovi linguaggi di programmazione e del conseguente sviluppo di compilatori, cioè sistemi in grado di comprendere e far eseguire programmi scritti in un certo linguaggio.
Profondamente convinto dell’importanza crescente dell’informatica e in particolare dell'arte della programmazione, si battè strenuamente per l’istituzione di corsi universitari specifici, distinti da quelli di calcolo numerico, e di dipartimenti autonomi al pari di quelli delle altre materie scientifiche.
Sul finire degli anni Cinquanta, Perlis fu tra i creatori del celebre linguaggio Algol, per molti aspetti precursore di numerosi fortunati linguaggi successivi, come quelli della famiglia del C.  Negli anni Sessanta sviluppò varie estensioni di Algol e propose innovative tecnologie e tecniche di programmazione.

Il premio Turing che ricevette nel 1966 ratificò il suo fondamentale contributo nello sviluppo della teoria della programmazione. Secondo la motivazione ufficiale, il riconoscimento gli fu consegnato “per la sua influenza nell’area delle tecniche avanzate di programmazione e nella costruzione di compilatori”.
Nel 1971 Perlis si trasferì nel neonato dipartimento di informatica dell’università di Yale, e vi rimase fino alla morte, che lo colse nel 1990.

Al di là delle ricerche che gli valsero il premio Turing, Perlis è famoso soprattutto per aver scritto, nel 1981, un articolo intitolato “Epigrammi sulla programmazione”, costituito da una serie di aforismi che sintetizzano la sua visione del mondo dell’informatica e della programmazione.

Ecco una selezione di questi epigrammi (tradotti dal sottoscritto):
  • La programmazione è un atto contro natura.
  • La programmazione è un gioco di parole.
  • Un programma senza cicli e variabili strutturate non vale la pena di essere scritto.
  • Per capire un programma si deve diventare al tempo stesso la macchina e il programma.
  • La semplicità non precede la complessità, la segue.
  • Gli sciocchi ignorano la complessità. I pragmatici ne soffrono. Alcune persone possono evitarla. I geni la rimuovono.
  • Non avere buone idee, se non sei disposto ad esserne responsabile.
  • Quando scriviamo programmi che "imparano", alla fine si scopre che siamo noi a imparare, non loro.
  • Non sbagliarti su questa cosa: i computer elaborano numeri, non simboli. Noi comprendiamo e controlliamo le cose nella misura in cui possiamo aritmetizzare un'attività.
  • Qual è la differenza tra una macchina di Turing e il computer moderno ? La stessa che c'è tra l'ascesa dell'Everest da parte di Hillary e la costruzione di un hotel Hilton sulla sua vetta.
  • L'informatica è imbarazzata dal computer.
  • All'interno di un computer il linguaggio naturale è innaturale.
  • Adattare vecchi programmi per poter utilizzare le nuove macchine significa di solito adeguare le nuove macchine a comportarsi come quelle vecchie.
  • L'undicesimo comandamento era "Tu calcolerai" oppure "Non calcolare": non ricordo quale dei due.
  • Perché cadde l'impero romano? Come si dice "office automation" in latino?

Nessun commento:

Posta un commento