Traduzione italiana di “Wadler follows the giants of science”
Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT entra nel nostro gruppo Telegram
Wadler segue i giganti della scienza
La carriera stellare di uno dei protagonisti dello sviluppo di Cardano è stata premiata con la fellowship della Royal Society, la più antica accademia scientifica del mondo.
Il professor Philip Wadler è noto a molti utenti di Cardano come co-creatore (insieme a Manuel Chakravarty) di Plutus, il linguaggio di programmazione intelligente della blockchain. Il suo lavoro sui linguaggi informatici e sulla programmazione funzionale gli è valso una cattedra, una serie di premi e la nomina a membro della Royal Society di Edimburgo. Chiunque abbia usato Java, Haskell o XQuery, o qualsiasi altro linguaggio funzionale, ha beneficiato del lavoro di Wadler.
Questo mese si unirà ad altri giganti della scienza - tra cui Newton - per essere inserito tra i membri della Royal Society, la più antica accademia scientifica del mondo. Sarà nominato FRS.
Questo riconoscimento è la testimonianza di una carriera che attraversa l’era del microprocessore e la proliferazione delle tecnologie digitali. L’effetto degli accademici è misurato dal sistema h-Index: dopo 20 anni di ricerca, un punteggio di 20 è buono, 40 è eccezionale e 60 è clamoroso. Il punteggio di Wadler è 73, in quanto il suo lavoro è stato citato 26.981 volte in articoli e libri pubblicati.
Nella sua biografia si legge che “gli piace introdurre la teoria nella pratica e la pratica nella teoria”, cosa che ha certamente fatto. È stato assistente di ricerca all’Università di Oxford e ha ottenuto la sua prima cattedra a Glasgow, dove è stato uno dei principali ideatori di Haskell. Ha poi lavorato presso i Bell Labs e gli Avaya Labs. Dal 2003, Wadler è professore di informatica teorica presso la School of Informatics dell’Università di Edimburgo.
Sono un convinto sostenitore dell’esposizione sia alla teoria che alla pratica", afferma Wadler. L’importanza di considerarle entrambe insieme è un tema che si ritrova in tutta la storia della scienza, da Blaise Pascal [il matematico e filosofo francese che ha gettato le basi per la teoria delle probabilità] a Robin Milner [che ha contribuito a progettare il linguaggio ML, un precursore di Haskell, a Edimburgo]".
Per lui il grande vantaggio del mondo accademico è che "si può insegnare. Lavorare con i giovani aiuta a sentirsi giovani e insegnare affina le capacità di comunicazione.
Sono felice di essere invitato a molte conferenze industriali e i giovani sviluppatori che vi intervengono sono intelligenti e ispirati, ma solo alcuni di loro hanno imparato a comunicare in modo efficace".
L’importanza di scrivere in modo chiaro fu inculcata al giovane Wadler quando contribuì con un articolo all’American Mathematical Society. Era il 1975 e lo scrisse dopo aver frequentato un corso per studenti delle scuole superiori tenuto dall’Università della California a Berkeley. Cercai di impostarlo nel modo più generale possibile, ma i miei mentori mi dissero che questo lo rendeva incomprensibile! Mi hanno chiesto di riscriverlo in modo più concreto, per renderlo più accessibile.
Mi hanno detto quanto sia importante rendere l’opera facile da seguire per i lettori e mi hanno insegnato una lezione fondamentale".
Comprendere il mondo di Wadler significa scoprire un vocabolario di calcolo lambda, tracciamento delle colpe, tipizzazione graduale, classi di tipi e monadi. È un luogo in cui la svogliatezza è meglio della pigrizia e, se si vuole essere pigri, lo si deve fare con classe. La maggior parte delle persone non si imbatterà mai in questi termini, ma lui ha seguito il consiglio di rendere le idee facili da seguire. L’umorismo presente in molti dei suoi articoli accademici e il suo stile coinvolgente di presentazione delle lezioni ne sono la prova. Titoli come “An idiom’s guide to formlets”, “Leftover Curry and reheated Pizza” e “Et tu, XML?” sono difficili da dimenticare. E le sue apparizioni alle conferenze in costume da Lambda Man sono indimenticabili.
Nel cuore della Silicon Valley
Wadler ha frequentato la scuola superiore di Cupertino, nella zona della baia di San Francisco, in California, che stava diventando la Silicon Valley. Pensava di diventare un matematico, “ma era più facile trovare lavoro come codificatore e più redditizio”. Riconosce tre primi insegnanti, “in particolare i signori Simons e Grote, che insegnavano matematica a scuola, e Gerald Alexanderson, che insegnava calcolo all’Università di Santa Clara in un corso che ho frequentato”.
Si è laureato in matematica a Stanford nel 1977. L’anno prima, Steve Wozniak e Steve Jobs avevano iniziato a commercializzare il loro kit Apple I con il chip 6502 a 8 bit di MOS Technology e 4 KB di memoria utente. Donald Knuth è arrivato al terzo volume della sua opera di programmazione (la sezione più recente è uscita l’anno scorso). È l’epoca di Fortran, Cobol, Lisp e Algol; Forth, Pascal e C sono relativamente nuovi. Xerox Parc sta sviluppando SmallTalk. I microcomputer devono ancora arrivare e diffondere il Basic. Gli ingegneri portano ancora con sé i regoli calcolatori. Mancano due anni al classico libro di Douglas Hofstadter Gödel, Escher, Bach (noto come GEB); quattro anni al BBC Micro di Acorn e al PC di IBM. Tim Berners-Lee sta studiando fisica a Oxford ed è a decenni di distanza dal proporre il WorldWide Web.
La maggior parte di questi momenti fondamentali ha un riferimento nella storia personale di Wadler. Il suo prossimo articolo fu scritto quando era al secondo anno dell’Università di Stanford, per un corso tenuto da Knuth. Fu un periodo formativo. Il corso di Knuth sulle strutture di dati, tenuto a partire dal suo libro di testo, fu un’esperienza di apprendimento fantastica. Tra le altre cose, ci diede alcune pagine di appunti su come scrivere testi matematici. Quegli appunti sono stati l’inizio della mia carriera accademica. Li uso ancora oggi".
L’articolo, “Analysis of an algorithm for real-time garbage collection” (Analisi di un algoritmo per la raccolta dei rifiuti in tempo reale), ottenne il primo di molti riconoscimenti per Wadler: il Forsythe student paper award dell’Association for Computing Machinery (ACM), la società scientifica statunitense.
Il corso più influente a Stanford fu un’introduzione all’economia. Non ricordo il nome dell’insegnante, ma una ricerca sul web suggerisce che si trattava di John Gurley. Era un mix dei due Marx, Karl e Groucho. Sapeva il fatto suo e lo presentava con uno stile molto divertente. Ci insegnava l’economia vera e propria. Poi, ogni due settimane circa, diceva: “Vi ho insegnato la teoria standard, ora vi dirò la verità” e ci dava una prospettiva marxista. Ciò che ne trassi fu l’importanza di presentare in modo corretto i punti di vista opposti.
Anche se pensava appassionatamente che la visione standard fosse sbagliata, voleva presentarcela correttamente".
Tra gli altri docenti c’erano John McCarthy e Vint Cerf, uno dei fondatori di Internet, oltre a Knuth. Una cosa fondamentale che ho imparato da tutti e tre è stata l’importanza dell’umorismo nel proprio lavoro. Vint è il nipote di Bennett Cerf [umorista e collezionista di limerick], e si vedeva. Quando Vint mi spiegò Internet, citò l’opera HMS Pinafore di Gilbert e Sullivan, cantando “Perde qualche pacchetto? Mai. Cosa mai? Beh, quasi mai”.
McCarthy, un pioniere nel campo dell’intelligenza artificiale, insegnò a Wadler “come programmare in Lisp. In altre parole, ho imparato l’essenza della programmazione funzionale”.
Mentre era a Stanford, Wadler partecipò alle riunioni dell’Homebrew Computer Club. Un giorno si presentò un ragazzo con una scheda singola che si poteva attaccare a un televisore e una tastiera. Si rivelò essere l’Apple I. L’uomo che ce lo mostrò era probabilmente Wozniak, ma io ero concentrato sul computer e non prestai attenzione all’uomo dietro la macchina. Spero di essere diventato più attento alle persone da allora".
Un’altra lezione fu tenuta da Hofstadter a partire dalla bozza di GEB, che non era ancora stata pubblicata. Quando il libro uscì, nel 1979, le sue pagine accreditavano Wadler per aver “risuonato” con Hofstadter. Ne ero follemente orgoglioso". Il compagno di stanza di Wadler, l’artista grafico Scott Kim, viene ringraziato nel libro come una “gigantesca influenza”.
Wadler lavorò come stagista estivo allo Xerox Parc. Lì implementò un simulatore in una prima versione di Smalltalk, “che era un sistema piccolo ed elegante”. Si discuteva molto di “dynabook”, che non esistevano ancora, ma sono quelli che oggi chiamiamo laptop.
Alla Carnegie-Mellon, dove Wadler studiava intelligenza artificiale, Herbert Simon, premio Nobel, fu il supervisore di Wadler per i primi due anni. Questo ha portato Wadler a concentrarsi sui linguaggi di programmazione. Mi resi conto che la parte dell’intelligenza artificiale che mi interessava di più era la rappresentazione delle informazioni, e pensai che i linguaggi di programmazione la affrontassero in modo più diretto. Anche in questo caso, sono stato incredibilmente fortunato con le persone con cui ho lavorato, prima Simon e poi Bill Scherlis, Guy Steele Jr e Nico Habermann".
Il dottorato di Wadler è stato conseguito alla Carnegie Mellon con “La svogliatezza è meglio della pigrizia: un algoritmo che trasforma i programmi applicativi per eliminare gli elenchi intermedi”. Steele e Habermann erano i suoi supervisori di tesi.
Industria e mondo accademico
Dal 1983 Wadler è stato ricercatore e membro del Programming Research Group di Oxford, dove ha pubblicato molti articoli, tra cui il più citato è “How to replace failure by a list of successes”.
Successivamente è passato all’Università di Glasgow, dove Wadler è stato uno dei principali progettisti di Haskell, che è diventato il linguaggio più diffuso per la programmazione funzionale pigra. Ha contribuito alle due principali innovazioni: le classi di tipi, con Stephen Blott nel 1989, e le monadi con Simon Peyton Jones nel 1993. Queste innovazioni lo hanno aiutato a diventare uno degli autori di informatica più riconosciuti, tanto da ottenere una cattedra nel 1993. L’articolo sulle monadi ha vinto il premio ACM per l’articolo più influente del decennio precedente nel 2003.
Il compilatore Glasgow Haskell (GHC) è stato sviluppato a Glasgow e Peyton Jones e Simon Marlow hanno ricevuto un premio ACM per il software nel 2011 come suoi creatori. Wadler ha ricevuto un distinguished service award nel 2016. Chakravarty, il suo co-creatore di Plutus, aggiunge: “Un po’ più tardi, il suo contributo nell’utilizzare il concetto categoriale delle monadi per fornire un modo funzionale di gestire l’input e l’output dei dati e la programmazione imperativa generale ha avuto di nuovo un enorme impatto. Le classi di tipi e le monadi insieme hanno determinato in gran parte il modo in cui gli architetti del software progettano i programmi in Haskell. Entrambi i concetti sono stati ripresi da altri linguaggi”.
Oltre all’implementazione di Cardano in Haskell, Wadler cita tre applicazioni di rilievo. In primo luogo, Facebook utilizza la libreria HAXL creata da Simon Marlow per filtrare ogni messaggio pubblicato alla ricerca di spam e disinformazione. In secondo luogo, il numero di banche che utilizzano Haskell, la cui influenza ha incoraggiato la maggior parte delle società finanziarie a utilizzare un linguaggio funzionale in un modo o nell’altro. La scelta finale è caduta su SeL4, un sistema operativo minimale altamente sicuro per telefoni cellulari. Per questo, è stato scritto un prototipo in Haskell. Il prototipo ha costituito la base per un modello formale nell’assistente di prova Isabelle e poi per l’implementazione di produzione, che è stata tradotta da Haskell al linguaggio C per garantire la velocità. La traduzione è stata verificata rispetto al modello formale in Isabelle.
Da Glasgow è passato all’industria per sette anni nei Bell Labs (Lucent Technologies) e poi negli Avaya Labs; Peyton Jones è passato alla Microsoft Research e ora lavora alla Epic Games. Due prodotti di questo periodo sono stati GJ (Generic Java) - la base del progetto di Sun Microsystems - e FJ (Featherweight Java). Quest’ultimo, del 1999, è un modello formale di Java che può essere scritto su un foglio di carta. È uno degli articoli più citati di Wadler. Come dice lui stesso. GJ spinge la teoria nella pratica; FJ porta la pratica nella teoria".
Presso Avaya, Wadler ha pubblicato il suo articolo su XQuery, un linguaggio per l’interrogazione di XML e la combinazione di dati, sia che si tratti di documenti, database o pagine web, sviluppato dal World-Wide Web Consortium (W3C). Permette di sostituire programmi complessi in altri linguaggi con poche righe di codice.
Nel 2003 mi è stata offerta la cattedra di Informatica teorica a Edimburgo. Per Wadler accettare la posizione è stata una decisione facile, perché ha potuto calarsi nei panni di uno dei suoi più grandi eroi scientifici, Robin Milner. (L’altro è Tony Hoare, inventore dell’algoritmo Quicksort). Quando mi è stata offerta la cattedra a Edimburgo, non ho potuto rifiutarla perché il posto era stato creato per Robin Milner".
L’uomo che ha messo lambda sulle magliette
Knuth, McCarthy e Cerf avevano inculcato a Wadler l’importanza dell’umorismo nei documenti e nelle presentazioni accademiche. La sua tesi di dottorato era “La svogliatezza è meglio della pigrizia” e uno dei suoi primi articoli pubblicati fu “Come sostituire il fallimento con un elenco di successi”. Da quel momento", dice, “non si è più tornati indietro”. Si rallegra che i titoli dei suoi articoli siano stati inseriti nel libro di testo Stylish Academic Writing di Helen Sword.
Chi ha assistito alle lezioni di Wadler lo ha visto trasformarsi in Lambda Man, un supereroe in costume. Il calcolo Lambda - λ-calculus - è un sistema formale di logica matematica fondamentale per Haskell. Le trasformazioni in supereroe sono iniziate quando Wadler ha iniziato a rendere più vivaci le conferenze accademiche disegnando formule su magliette e poi “strappando la mia camicia esterna per rivelare la formula”. Per questo ha una camicia speciale con bottoni automatici invece che con bottoni. Una maglietta mostrava una descrizione categorica della logica lineare dovuta a RAG Seely, che ha gentilmente accettato di posare con quella come “modello Seely”".
A un’altra conferenza, mentre eravamo seduti in un bar, un collega fece un’analogia tra le buffonate di Wadler e Superman; e “mi si accese una lampadina”. Ho commissionato il disegno del lambda, realizzato da Matija e Mojca Pretnar, e l’ho fatto stampare sul davanti di un costume da Superman che ho comprato".
La peer review rende IOG unica
Wadler ha iniziato a lavorare per Input Output sei anni fa, dopo aver conosciuto Charles Hoskinson, amministratore delegato e cofondatore di Input Output Global (IOG). Hoskinson era in visita al professor Aggelos Kiayias, scienziato capo dell’azienda e fondatore del Blockchain Technology Lab di Edimburgo. Charles chiese di incontrarmi. Avevo appena conosciuto Wanda, che viveva a Rio de Janeiro e che alla fine sarebbe diventata mia moglie. Anticipando il costo di molti voli per il Brasile, chiesi a Charles un lavoro di consulenza. È stato coraggioso da parte mia, ma è stata una delle scelte migliori che abbia mai fatto".
I loro punti di vista comuni sull’importanza del mondo accademico rispetto all’industria sono stati subito evidenti. Ciò che ammiro di più di Charles è l’insistenza con cui sostiene che tutto ciò che fa lo IOG deve basarsi su ricerche sottoposte a revisione paritaria. Come sottolinea lui stesso, questo è il fondamento della scienza".
L’IOG finanzia il laboratorio di Edimburgo e i centri di ricerca di altre università, una strategia non insolita tra le aziende tecnologiche. Tuttavia, Wadler ritiene che IOG sia andata oltre: “Con i protocolli crittografici complicati, la ricerca sottoposta a revisione paritaria è il modo migliore per garantirne la correttezza. Per quanto ne so, IOG è unica in questa insistenza. Non solo nella crittografia, ma in tutta l’informatica. Google o Microsoft permettono ai loro sviluppatori di pubblicare, ma non lo considerano un passo fondamentale verso l’affidabilità”.
Wadler ha contribuito a documenti dell’IOG riguardanti: UTXO esteso, il modello di ledger utilizzato da Cardano; System F, un elemento importante nella base teorica di linguaggi come Haskell e ML; e contratti blockchain.
L’approccio conciso ed elegante di Wadler, come si è visto nell’articolo Featherweight Java, è emerso nuovamente quando Plutus è stato annunciato nel 2018. All’evento PlutusFest di Edimburgo, il team ha distribuito tovaglioli di carta nera su cui erano stampate con inchiostro dorato le specifiche del linguaggio Plutus. È stata un’idea menzionata per la prima volta da Hoskinson ma, come aggiunge Chakravarty, “Questo risale a Phil che ha insistito fin dall’inizio per mantenere Plutus Core il più piccolo possibile”. In seguito, Charles ha fatto l’osservazione sui tovaglioli, ma Phil ha portato avanti l’idea ed è così che ci siamo ritrovati con i tovaglioli di Edimburgo".
Semplicità, sicurezza e protezione sono al centro di Plutus, il tutto reso possibile dalla programmazione funzionale e da Haskell.
Il potere della matematica
Una corrente che attraversa il lavoro di Wadler è il valore della matematica. Molte persone hanno paura della matematica", dice, “perché pensano che sia troppo difficile per loro. Gli sviluppatori più esperti, che si trovano bene con Javascript, scappano dalla stanza urlando se vedono qualcosa su una diapositiva scritta in corsivo, perché sembra matematica formale”.
Eppure, la matematica è uno strumento incredibilmente potente per comprendere il mondo che ci circonda ed è stata usata come tale per millenni. Ogni generazione ha tramandato le sue scoperte alla successiva. Una delle citazioni preferite di Wadler è quella del polimatico scozzese John Arbuthnot, tratta dal suo Of the Laws of Chance del 1692:
Ci sono pochissime cose che conosciamo e che non possono essere ridotte a un ragionamento matematico; e quando non è possibile, è segno che la nostra conoscenza di esse è molto limitata e confusa; e quando si può avere un ragionamento matematico, è una grande follia ricorrere a qualsiasi altro, come cercare una cosa al buio, quando si ha una candela accanto.
Questa catena di comprensione è qualcosa che egli sottolinea ai colleghi più giovani. Il lavoro che fate è importante solo se ispira gli altri a fare un lavoro ancora migliore. Sono orgoglioso dei documenti che ho scritto e sono ancora più orgoglioso dei documenti scritti da altri che si basano sul mio lavoro".
Ancora una volta, sottolinea la semplicità. Un corollario è l’importanza della semplicità. Bisogna presentare il lavoro in modo che gli altri possano prenderlo e costruirci sopra. Troppi miei colleghi sono troppo intelligenti! Sono abbastanza intelligenti da gestire una grande quantità di complessità, ma questo rende quello che fanno più difficile da assimilare. Per favore, scrivete per i sempliciotti come me. L’importanza della scoperta originale è pari allo sforzo di semplificare e lucidare".
Il più grande libro di autografi del mondo
Il 14 luglio Wadler sarà alla Carlton House Terrace di Londra. Lì, in qualità di uno degli 80 straordinari ricercatori, innovatori e comunicatori, sarà inserito come fellow nella Royal Society. Questo organismo di studiosi risale al 1660 - Christopher Wren e Robert Boyle erano tra i fondatori. L’edificio si affaccia su The Mall, il grande viale che collega Trafalgar Square a Buckingham Palace. Carlo II, che costruì The Mall, diede il suo patrocinio alla Società, come ogni monarca da allora. Re Carlo III è socio reale dal 1978.
Wadler apporrà il suo nome in un registro che inizia con la firma di Carlo II e che è denso dei nomi più brillanti della storia scientifica. Tra i membri attuali e precedenti figurano Charles Babbage, il cui Difference Engine è stato il primo dispositivo di calcolo digitale; il pioniere dell’intelligenza artificiale ed eroe della guerra per la decifrazione dei codici Alan Turing; Hoare; Milner; Berners-Lee; David Deutsch, il padre dell’informatica quantistica; Sophie Wilson, co-architetto del BBC Micro che ha contribuito a sviluppare l’architettura del chip ARM che alimenta gli smartphone di tutto il mondo; e Peyton Jones. Knuth e Cerf sono membri stranieri.
Due dei primi membri erano Isaac Newton e Robert Hooke. Newton è noto soprattutto per la sua teoria sulla legge di gravità e i suoi Principia Mathematica, con le tre leggi del moto, hanno influenzato notevolmente l’Illuminismo in Europa. Hooke scoprì i microrganismi e coniò il termine “cellula”, ma è probabilmente più noto a generazioni di scolari per la Legge di Hooke, che descrive l’effetto di una forza su una molla metallica. Nel 1675 i due si scambiarono una lettera. Se ho visto più lontano", scrisse Newton, “è stando sulle spalle dei giganti”. Dopo il 14 luglio, il nome di Wadler siederà accanto alle firme di quei giganti e attenderà con ansia le opportunità che la borsa di studio gli offrirà.
Per saperne di più
- Risorse di scrittura di Philip Wadler
- Wadler su Plutus nel 2018
- Citazioni preferite di Wadler
- Il post del blog di Wadler sul libro di testo di Helen Sword
- La lista di Wadler su Google Scholar
- Storia della Royal Society dal 1660
- PlutusFest 2018: Discorso programmatico di Manuel Chakravarty
- Haskell nell’industria
- Laboratorio di tecnologia blockchain a Edimburgo