Kristen Nygaard : L'homme qui a inventé l'objet
Chaque fois qu'un programmeur aujourd'hui écrit « class », « object » ou « inherits », il utilise un vocabulaire qu'un chercheur en recherche opérationnelle norvégien a inventé au début des années 1960 pour simuler des batailles navales et des files d'attente en usine. Kristen Nygaard n'avait pas l'intention de réinventer le génie logiciel. Il cherchait à modéliser des systèmes chaotiques et discrets du monde réel sur un ordinateur trop petit pour la tâche, et en résolvant ce problème étroit, il a construit l'échafaudage conceptuel — objets, classes, héritage — qui sous-tend presque tous les langages de programmation majeurs écrits depuis.
De Monte-Carlo aux trajectoires de missiles
Nygaard est né le 27 août 1926 à Oslo et a obtenu son master en mathématiques à l'Université d'Oslo en 1956 avec une thèse sur les aspects théoriques des méthodes de Monte-Carlo dans la théorie des probabilités abstraites. Sa vie professionnelle n'a pas commencé dans une université mais au sein de l'Établissement de recherche sur la défense norvégienne (Norwegian Defense Research Establishment), où il a passé douze ans, de 1948 à 1960, passant de l'informatique et de la programmation à la recherche opérationnelle. En 1957, il dirigeait les premiers groupes de recherche opérationnelle de défense de Norvège, et en 1959, il a cofondé la Société norvégienne de recherche opérationnelle, qu'il a présidée jusqu'en 1964. Ce ne fut pas un détour académique avant que le « vrai » travail ne commence — c'était le travail qui a généré le problème que Simula a été construit pour résoudre : comment représenter des systèmes complexes, interactifs et probabilistes, comme des cœurs de réacteurs nucléaires ou des flottes de navires, assez proprement pour qu'un ordinateur puisse les exécuter.
Construire Simula
En 1960, le Centre informatique norvégien (Norwegian Computing Center) a recruté Nygaard pour aider à en faire une véritable institution de recherche, et il en est devenu le directeur de la recherche en 1962. Là, aux côtés de son collègue Ole-Johan Dahl, il a passé les années 1960 à développer une paire de langages qui allaient discrètement refaçonner l'informatique. Simula I, construit entre 1961 et 1965, et son successeur Simula 67, développé de 1965 à 1968, ont étendu ALGOL 60 avec un ensemble d'idées que personne n'avait assemblées dans une telle combinaison auparavant : des objets regroupant des données avec les procédures agissant sur elles, des classes définissant des familles de tels objets, l'héritage permettant à une classe d'en étendre une autre, des quantités virtuelles et une forme d'exécution multi-threadée basée sur les coroutines. Le jumelage de « l'objet » et de la « classe » comme unité organisatrice d'un programme, plutôt que la procédure ou la table de données, est l'idée unique qui a donné son nom à la programmation orientée objet — et c'est une idée de Nygaard et Dahl, non un raffinement ultérieur de quelqu'un d'autre.
Vingt questions, huit minutes au chronomètre et un centile mesuré face à tous ceux qui l’ont passé. Sans inscription.
Passer le test de QI →Une carrière qui n'a cessé de s'élargir
La vie académique de Nygaard s'est étendue à partir de cette base sans jamais perdre l'instinct appliqué qui l'avait produite. Il a enseigné à l'Université d'Aarhus au Danemark de 1975 à 1976, puis a rejoint l'Université d'Oslo, d'abord à temps partiel à partir de 1977, puis à temps plein de 1984 à 1996. Ses recherches se sont de plus en plus tournées vers les conséquences sociales de l'informatique et ont contribué à établir ce qui est devenu connu sous le nom d'École scandinave de développement de systèmes, étroitement liée à la conception participative — l'idée que les travailleurs qui utiliseraient un système devraient aider à le concevoir, et non simplement le recevoir. À partir de 1976, il a travaillé avec Bent Bruun Kristensen, Ole Lehrmann Madsen et Birger Møller-Pedersen sur BETA, un autre langage orienté objet à usage général mis en œuvre à partir de 1986, et dans les années 1980, il a présidé le programme de recherche scandinave SYDPOL avant de diriger le projet Cost-13 sur les extensions de langage orientées vers la profession. Son dernier domaine de recherche était l'éducation à la programmation d'introduction elle-même, via une initiative appelée Apprentissage complet orienté objet (Comprehensive Object-Oriented Learning).
L'activiste qui a battu l'Union européenne
En dehors de l'informatique, Nygaard a mené une vie politique exceptionnellement riche en conséquences. Il a dérivé du Comité exécutif national du Parti libéral dans les années 1960 au Parti travailliste, où il a siégé aux comités de politique de recherche de 1971 à 2001. Sa plus grande réalisation publique n'avait rien à voir avec la programmation : en 1988, il a pris la tête du Comité d'information sur la Norvège et la CEE, réorganisé en 1990 sous le nom de Nei til EF (« Non à l'UE »), et l'a transformé en la plus grande organisation politique de l'histoire de la Norvège, comptant 145 000 membres sur une population de quatre millions en 1994. Il a co-dirigé la campagne du référendum de 1994 contre l'adhésion de la Norvège à l'UE avec la chef du Parti du centre, Anne Enger Lahnstein ; le pays a voté Non à 52,2 % lors du taux de participation le plus élevé de son histoire, 88,8 %. Il a démissionné de son poste de président en 1995 mais a continué à travailler au sein du comité de stratégie, et de 1996 à 1997, il a aidé à coordonner le Mouvement européen anti-Maastricht, un réseau européen s'opposant à l'union monétaire.
Reconnaissance
Les honneurs se sont accumulés régulièrement puis sont arrivés tous en même temps à la fin de sa carrière. L'Université de Lund lui a décerné un doctorat honorifique en 1990, l'Université d'Aalborg a fait de lui son premier docteur honorifique en 1991, et Computer Professionals for Social Responsibility lui a décerné son prix Norbert Wiener pour la responsabilité sociale et professionnelle cette même année. En 1999, lui et Dahl ont partagé le prix Rosing de l'Association norvégienne de données ; en 2000, l'Object Management Group l'a fait membre honoraire « pour avoir initié les concepts de technologie objet », et le roi Harald V l'a fait commandeur de l'ordre royal norvégien de Saint-Olav. Le sommet technique a été atteint en 2001, lorsqu'il et Dahl ont reçu conjointement la médaille IEEE John von Neumann « pour l'introduction des concepts sous-jacents à la programmation orientée objet grâce à la conception et à la mise en œuvre de Simula 67 » — puis, quelques mois plus tard, le prix A.M. Turing de l'Association for Computing Machinery, la plus haute distinction en informatique, « pour des idées fondamentales à l'émergence de la programmation orientée objet, à travers leur conception des langages de programmation Simula I et Simula 67 ». L'AITO, l'Association internationale pour les technologies objet, avait déjà créé le prix Dahl-Nygaard en leur honneur en 2004, une reconnaissance annuelle permanente signifiant que le domaine les considère comme ses fondateurs.
Pourquoi Kristen est qualifié de génie
Ici, le cas est exceptionnellement solide, car les honneurs ne sont pas des fioritures honorifiques mais les plus hauts prix techniques du domaine, décernés par les personnes qui construisent sur ses travaux chaque jour : le prix Turing et la médaille von Neumann nomment tous deux la réalisation conceptuelle spécifique — inventer le modèle objet-classe — plutôt qu'une vie entière d'accomplissement général. Cette spécificité est importante. Le génie de Nygaard n'était pas une virtuosité mathématique brute ; sa propre thèse de doctorat était solide mais sans relief sur la théorie de Monte-Carlo, et les collègues créditent généralement Dahl d'une plus grande rigueur formelle dans la conception du langage Simula. La contribution distincte de Nygaard était conceptuelle : la reconnaissance que la simulation à événements discrets exigeait une unité d'organisation de programme entièrement nouvelle, et la discipline pour généraliser cette unité jusqu'à ce qu'elle devienne un paradigme plutôt qu'une astuce pour un domaine problématique. C'est le type de génie le plus rare et le plus difficile à nommer — ne pas résoudre un problème connu plus rapidement que quiconque, mais remarquer qu'une catégorie entière de problèmes futurs partageait une structure cachée que personne n'avait encore nommée. Le contre-argument honnête est que les idées de Simula ont mis plus d'une décennie à atteindre le grand public via Smalltalk, C++ et Java, et Nygaard a passé une grande partie de sa carrière ultérieure à l'activisme politique plutôt qu'à exploiter son avantage technique — son impact était donc réel mais lent à se manifester, institutionnellement reconnu seulement dans ses deux dernières années de vie.
Héritage
Nygaard est décédé d'une crise cardiaque le 10 août 2002, à 75 ans, à Oslo, après avoir épousé Johanna Nygaard en 1951 et élevé trois enfants qui lui ont donné sept petits-enfants. Il a également présidé le Comité de protection de l'environnement de l'Association norvégienne pour la protection de la nature et a passé des années à aider à construire une institution sociale expérimentale pour les alcooliques marginalisés — une vie, au total, qui a traité l'informatique, la politique et le bien-être social comme des continuations d'un même instinct plutôt que comme des carrières distinctes. Presque tous les programmes orientés objet écrits aujourd'hui, des logiciels d'entreprise aux applications mobiles, fonctionnent toujours sur le vocabulaire qu'il a inventé avec Dahl pour simuler des navires et des réacteurs il y a un demi-siècle.
