Kristen Nygaard: L'uomo che inventò l'oggetto
Ogni volta che un programmatore oggi scrive "class", "object" o "inherits", sta usando un vocabolario che un ricercatore operativo norvegese ha coniato all'inizio degli anni '60 per simulare battaglie navali e code in fabbrica. Kristen Nygaard non si era prefissato di reinventare l'ingegneria del software. Si era prefissato di modellare sistemi caotici e discreti del mondo reale su un computer troppo piccolo per il compito, e risolvendo quel problema ristretto ha costruito l'impalcatura concettuale — oggetti, classi, ereditarietà — che è alla base di quasi tutti i principali linguaggi di programmazione scritti da allora.
Da Monte Carlo alle traiettorie dei missili
Nygaard è nato il 27 agosto 1926 a Oslo e ha conseguito il master in matematica presso l'Università di Oslo nel 1956 con una tesi sugli aspetti teorici dei metodi di Monte Carlo nella teoria della probabilità astratta. La sua vita lavorativa non è iniziata in un'università, ma presso il Norwegian Defense Research Establishment, dove ha trascorso dodici anni, dal 1948 al 1960, passando dall'informatica e programmazione alla ricerca operativa. Nel 1957 guidava i primi gruppi di ricerca operativa della difesa norvegese e nel 1959 ha co-fondato la Norwegian Operational Research Society, presiedendola fino al 1964. Non si è trattato di una deviazione accademica prima che iniziasse il lavoro "vero" — era il lavoro che ha generato il problema che Simula è stato costruito per risolvere: come rappresentare sistemi complessi, interattivi e probabilistici, come i noccioli dei reattori nucleari o le flotte navali, in modo abbastanza pulito da consentire a un computer di eseguirli.
Costruire Simula
Nel 1960 il Norwegian Computing Center ha reclutato Nygaard per aiutarlo a diventare una vera istituzione di ricerca, e ne è diventato Direttore della Ricerca nel 1962. Lì, insieme al collega Ole-Johan Dahl, ha trascorso gli anni '60 sviluppando una coppia di linguaggi che avrebbero silenziosamente rifatto l'informatica. Simula I, costruito tra il 1961 e il 1965, e il suo successore Simula 67, sviluppato dal 1965 al 1968, hanno esteso ALGOL 60 con una serie di idee che nessuno aveva mai riunito in quella combinazione prima: oggetti che raggruppavano dati con le procedure che agivano su di essi, classi che definivano famiglie di tali oggetti, ereditarietà che consentiva a una classe di estenderne un'altra, quantità virtuali e una forma di esecuzione multi-threaded basata su coroutine. L'abbinamento di "oggetto" e "classe" come unità organizzativa di un programma, piuttosto che la procedura o la tabella di dati, è l'unica idea da cui prende il nome la programmazione orientata agli oggetti — ed è un'idea di Nygaard e Dahl, non un raffinamento successivo di qualcun altro.
Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.
Fai il test del QI →Una carriera che ha continuato ad ampliarsi
La vita accademica di Nygaard si è diffusa a partire da quel fondamento senza mai perdere l'istinto applicato che l'aveva prodotto. Ha insegnato all'Università di Aarhus in Danimarca dal 1975 al 1976, poi è entrato all'Università di Oslo, prima part-time dal 1977 e a tempo pieno dal 1984 al 1996. La sua ricerca si è rivolta sempre più verso le conseguenze sociali dell'informatica e ha contribuito a stabilire quella che è diventata nota come la Scuola Scandinava di Sviluppo dei Sistemi, strettamente legata al design partecipativo — l'idea che i lavoratori che avrebbero utilizzato un sistema dovrebbero aiutare a progettarlo, non solo riceverlo. Dal 1976 ha lavorato con Bent Bruun Kristensen, Ole Lehrmann Madsen e Birger Møller-Pedersen su BETA, un altro linguaggio orientato agli oggetti per scopi generali implementato dal 1986, e negli anni '80 ha presieduto il programma di ricerca scandinavo SYDPOL prima di dirigere il progetto Cost-13 sulle estensioni del linguaggio orientate alla professione. Il suo ultimo interesse di ricerca è stata l'educazione alla programmazione introduttiva stessa, attraverso un'iniziativa chiamata Comprehensive Object-Oriented Learning.
L'attivista che ha sconfitto l'Unione Europea
Al di fuori dell'informatica, Nygaard ha vissuto una vita politica insolitamente importante. È passato dal Comitato Esecutivo Nazionale del Partito Liberale negli anni '60 al Partito Laburista, dove ha fatto parte dei comitati per la politica di ricerca dal 1971 al 2001. Il suo più grande successo pubblico non ha avuto nulla a che fare con la programmazione: nel 1988 ha preso in carico il Comitato di Informazione sulla Norvegia e la CEE, riorganizzato nel 1990 come Nei til EF ("No all'UE"), e lo ha trasformato nella più grande organizzazione politica nella storia della Norvegia, con 145.000 membri su una popolazione di quattro milioni entro il 1994. Ha co-diretto la campagna referendaria del 1994 contro l'adesione della Norvegia all'UE con la leader del Partito di Centro Anne Enger Lahnstein; il paese ha votato No al 52,2 percento con la più alta affluenza alle urne della sua storia, l'88,8 percento. Si è dimesso dalla presidenza nel 1995 ma ha continuato a lavorare nel comitato strategico, e dal 1996 al 1997 ha aiutato a coordinare il Movimento Europeo Anti-Maastricht, una rete europea che si opponeva all'unione monetaria.
Riconoscimento
I riconoscimenti si sono accumulati costantemente e poi sono arrivati tutti in una volta alla fine della sua carriera. L'Università di Lund gli ha conferito una laurea honoris causa nel 1990, l'Università di Aalborg lo ha reso il suo primo dottore honoris causa nel 1991, e Computer Professionals for Social Responsibility gli ha conferito il premio Norbert Wiener per la responsabilità sociale e professionale quello stesso anno. Nel 1999 lui e Dahl hanno condiviso il premio Rosing della Norwegian Data Association; nel 2000 l'Object Management Group lo ha nominato Membro Onorario "per aver creato i concetti di tecnologia a oggetti" e il re Harald V lo ha nominato Comandante dell'Ordine Reale Norvegese di Sant'Olav. L'apice tecnico è arrivato nel 2001, quando lui e Dahl hanno ricevuto congiuntamente la IEEE John von Neumann Medal "per l'introduzione dei concetti alla base della programmazione orientata agli oggetti attraverso la progettazione e l'implementazione di Simula 67" — e poi, mesi dopo, l'A.M. Turing Award della Association for Computing Machinery, il massimo riconoscimento dell'informatica, "per idee fondamentali per l'emergere della programmazione orientata agli oggetti, attraverso la loro progettazione dei linguaggi di programmazione Simula I e Simula 67". AITO, l'International Association for Object Technologies, aveva già istituito il premio Dahl-Nygaard in loro onore nel 2004, un riconoscimento annuale permanente che il campo li considera i suoi fondatori.
Perché Kristen è chiamato un genio
Qui il caso è insolitamente solido, perché i riconoscimenti non sono ornamenti onorari ma i massimi premi tecnici del campo, assegnati dalle persone che costruiscono sul suo lavoro ogni giorno: il premio Turing e la medaglia von Neumann nominano entrambi lo specifico risultato concettuale — inventare il modello oggetto-classe — piuttosto che una vita intera di successi generali. Quella specificità è importante. Il genio di Nygaard non era pura virtuosità matematica; la sua tesi di laurea era una teoria di Monte Carlo solida ma non notevole, e i colleghi generalmente attribuiscono a Dahl gran parte del rigore formale della progettazione del linguaggio in Simula. Il contributo distinto di Nygaard è stato concettuale: il riconoscimento che la simulazione a eventi discreti richiedeva un'unità di organizzazione del programma del tutto nuova, e la disciplina per generalizzare tale unità fino a farla diventare un paradigma piuttosto che un trucco per un dominio problematico. È il tipo di genio più raro e più difficile da nominare — non risolvere un problema noto più velocemente di chiunque altro, ma notare che un'intera categoria di problemi futuri condivideva una struttura nascosta che nessuno aveva ancora nominato. Il controargomento onesto è che le idee di Simula hanno impiegato oltre un decennio per raggiungere il mainstream attraverso Smalltalk, C++ e Java, e Nygaard ha trascorso gran parte della sua carriera successiva nell'attivismo politico piuttosto che sfruttare il suo vantaggio tecnico — quindi il suo impatto è stato reale ma lento a bruciare, riconosciuto istituzionalmente solo nei suoi ultimi due anni di vita.
Eredità
Nygaard è morto di infarto il 10 agosto 2002, a 75 anni, a Oslo, dopo aver sposato Johanna Nygaard nel 1951 e aver cresciuto tre figli che gli hanno dato sette nipoti. Ha anche presieduto il Comitato per la Protezione dell'Ambiente della Norwegian Association for the Protection of Nature e ha trascorso anni ad aiutare a costruire un'istituzione sociale sperimentale per gli alcolizzati emarginati — una vita, nel complesso, che ha trattato l'informatica, la politica e il benessere sociale come continuazioni di un unico istinto piuttosto che come carriere separate. Quasi ogni programma orientato agli oggetti scritto oggi, dal software aziendale alle app mobili, funziona ancora sul vocabolario che lui e Dahl hanno inventato per simulare navi e reattori mezzo secolo fa.
