← Tous les articles

Philosophie de l'ingénierie : Alan Kay, la grande idée, c'est la messagerie

Alan Kay, informaticien et pionnier de la programmation orientée objet et de l'ordinateur personnel

Points clés à retenir

  • La grande idée, c’est la messagerie, pas les objets. Kay regrettait d’avoir forgé le terme « objets », car il pousse les gens à se concentrer sur les classes et l’héritage — l’idée mineure. Ce qui compte, ce sont des entités indépendantes qui s’envoient des messages et laissent le destinataire décider de ce qu’un message signifie.
  • Un changement de point de vue vaut 80 points de QI. On ne résout pas un problème difficile en réfléchissant plus fort à l’intérieur du mauvais cadre ; on trouve le cadre dans lequel il devient facile. La messagerie a été ce mouvement-là pour le logiciel.
  • Le Dynabook a reformulé l’informatique comme un médium pour la pensée, et non comme un outil pour des tâches — l’ordinateur portable et la tablette esquissés en 1972, au service de la capacité d’une personne à penser des pensées qu’elle ne pouvait penser auparavant.
  • La liaison tardive est ce qui achète l’indépendance. Parce que l’émetteur ignore comment le destinataire répondra, les parties peuvent changer sans se briser les unes les autres — ce qui est exactement la manière dont un système croît au-delà de ce qu’un seul esprit peut contenir.

Le principe

« Je regrette d’avoir, il y a longtemps, forgé le terme “objets” pour ce sujet, parce qu’il amène beaucoup de gens à se concentrer sur l’idée mineure. La grande idée, c’est la “messagerie”. » — Alan Kay1

Il a forgé le terme, a remporté le prix Turing en grande partie grâce à lui, puis a passé des décennies à dire aux gens qu’ils l’avaient mal compris. Le mot objet fait penser les ingénieurs aux classes, à l’héritage et aux noms de leur modèle de données — le mobilier à l’intérieur de la boîte. Le point de Kay est que le mobilier est l’idée mineure. Ce qui compte, c’est la boîte et les messages entre les boîtes : des entités indépendantes qui conservent leur propre état privé et n’interagissent qu’en s’envoyant des messages, où le destinataire, et non l’émetteur, décide de ce qu’un message signifie.1 C’est la liaison tardive élevée au rang de philosophie. L’émetteur ne va pas mettre la main à l’intérieur pour actionner la machinerie ; il demande, et fait confiance à l’entité pour savoir comment répondre.

La raison pour laquelle c’est la grande idée, c’est que c’est ainsi que l’on construit quelque chose de trop vaste pour le tenir dans sa tête. La métaphore récurrente de Kay est biologique : un grand système devrait être cultivé comme un corps, à partir de millions de cellules, chacune un ordinateur complet qui protège son propre état et ne parle à ses voisines que par messages.2 Aucune cellule ne va mettre la main dans la chimie d’une autre cellule. L’organisme entier est robuste parce que les parties sont indépendantes et que le seul couplage réside dans les messages qu’elles échangent. La programmation orientée objet, telle que Kay l’entendait, n’est pas une manière d’organiser des données — c’est une manière de faire un système à partir de nombreuses petites entités qui négocient, de sorte qu’aucune pièce isolée n’ait à comprendre l’ensemble.

Le mouvement plus profond sous-jacent à tout cela est une posture face aux problèmes, et non face au code. Un changement de point de vue vaut 80 points de QI, aimait dire Kay.3 On ne résout pas un problème difficile en étant plus intelligent à l’intérieur du mauvais cadre ; on trouve le cadre dans lequel le problème est facile. La messagerie est l’un de ces cadres. L’ordinateur personnel en était un autre. La conviction que la bonne perspective l’emporte sur l’ingéniosité brute est la même conviction qui sous-tend l’argument selon lequel le goût est un système technique que l’on peut examiner plutôt qu’une intuition que l’on affirme — la structure que vous choisissez pour voir un problème, c’est cela le travail.

Contexte

Alan Curtis Kay est né le 17 mai 1940 à Springfield, dans le Massachusetts.4 Il est venu à l’informatique tard et de biais — guitariste de jazz et enfant lecteur vorace, qui servit dans l’Air Force, où un test d’aptitude l’orienta vers la programmation, avant d’achever un diplôme en mathématiques et en biologie moléculaire dans le Colorado.4 La biologie a eu son importance. La métaphore de la cellule comme ordinateur, qui allait organiser toute sa théorie du logiciel, est venue de là, et non d’une quelconque tradition de programmation.

Il arriva au programme d’informatique de l’Université de l’Utah financé par l’ARPA au milieu des années 1960, où son directeur de thèse était Dave Evans et où le corps enseignant environnant comptait Ivan Sutherland.4 Pour ainsi dire dès son premier jour, Evans lui remit la thèse Sketchpad de Sutherland (1963) à lire. Sketchpad permettait à un utilisateur de dessiner directement sur un écran avec un stylet optique, et — point crucial — il possédait des maîtres et des instances : on définissait une forme une fois et l’on en estampait des copies qui en héritaient. Kay attribue à cette thèse, ainsi qu’au langage Simula qu’il rencontra peu après, la graine de sa réflexion sur les objets.4 Il assista aussi à la « Mother of All Demos » de Douglas Engelbart en 1968, la démonstration en direct de la souris, de l’hypertexte et de l’informatique interactive, qu’il qualifia plus tard d’une des grandes expériences de sa vie.4 Ses travaux de doctorat de 1969, la machine et le langage FLEX, furent une tentative précoce de construire un ordinateur personnel et interactif autour de ces idées.4

En 1970, il rejoignit le tout nouveau Xerox Palo Alto Research Center et se vit confier la direction du Learning Research Group.4 Le PARC des années 1970 était ce lieu rare où un chercheur pouvait poursuivre une vision sur vingt ans avec un budget d’entreprise. Kay en avait une : non pas un mainframe plus rapide, ni un meilleur terminal, mais un ordinateur personnel qu’un enfant pourrait utiliser comme médium pour la pensée. Tout ce qu’il construisit au PARC — Smalltalk, l’interface à fenêtres, l’idée même de l’ordinateur portable — fut une tentative de réaliser cette unique image.

Le travail

Smalltalk et la messagerie : ce que la POO signifiait vraiment

Au PARC, Kay et son groupe — au centre Dan Ingalls, qui réalisa les implémentations fondatrices, et Adele Goldberg, qui construisit une grande partie du système et de la documentation environnants — créèrent Smalltalk, l’un des premiers langages de programmation pleinement orientés objet et dynamiques.45 Dans Smalltalk, tout est un objet, et la seule chose que font les objets, c’est de s’envoyer des messages les uns aux autres. Il n’y a pas d’opérateurs qui atteignent l’état interne d’un autre objet ; même l’arithmétique est un message envoyé à un nombre. Le système est typé dynamiquement et à liaison extrêmement tardive : ce qu’un message fait est résolu par le destinataire au moment où il arrive, et non fixé à l’avance par l’émetteur.5 Cette résolution tardive est ce qui permettait à une image Smalltalk en cours d’exécution d’être modifiée pendant qu’elle tournait — le langage et son environnement étaient une seule et même chose vivante.

Kay distilla plus tard sa véritable définition de la programmation orientée objet en trois exigences : la messagerie ; la conservation, la protection et la dissimulation locales de l’état-processus à l’intérieur de chaque objet ; et la liaison extrêmement tardive de toutes choses.1 Remarquez ce qui n’est pas sur la liste : les classes, l’héritage, les types. Ce sont des commodités d’implémentation. Les éléments non négociables sont que l’état est privé et que tout est décidé le plus tard possible. Lorsqu’il a dit qu’il avait inventé le terme « orienté objet » et qu’il « n’avait pas C++ à l’esprit », voici ce qu’il voulait dire — un langage peut avoir des classes et de l’héritage et tout de même manquer entièrement le point s’il laisse un objet mettre la main dans les entrailles d’un autre.6

La raison pour laquelle la messagerie est l’idée porteuse, et non les objets, c’est que la messagerie est ce qui rend l’indépendance réelle. Si l’émetteur connaissait les rouages internes du destinataire, les deux seraient soudés ensemble et l’on reviendrait à un seul gros programme emmêlé. Parce que l’émetteur n’envoie qu’un message et que le destinataire décide comment répondre, vous pouvez remplacer, étendre ou faire croître le destinataire sans toucher à l’émetteur. C’est la même propriété qui permet à un corps de cicatriser une plaie ou à un réseau de contourner un nœud mort. Kay voulait que le logiciel passe à l’échelle comme la biologie passe à l’échelle, et la biologie passe à l’échelle par des messages entre cellules protégées, jamais par des entrailles partagées.

Le Dynabook : l’informatique comme médium

Une esquisse / maquette conceptuelle du Dynabook — la vision d'Alan Kay d'un ordinateur personnel pour les enfants de tous âges

En 1972, Kay écrivit « A Personal Computer for Children of All Ages », présenté à la conférence nationale de l’ACM à Boston, et il y décrivit le Dynabook : un ordinateur personnel portable, de la taille d’un carnet, à écran plat, capable de contenir toute la bibliothèque, la musique, les dessins et les programmes d’un enfant, qu’un individu posséderait et utiliserait à tout moment, en tout lieu.7 Il l’esquissa comme une fine ardoise à peu près de la taille d’un carnet et soutint qu’on pourrait en principe le construire avec la technologie de l’époque et le vendre à bas prix.7 Aucune machine de ce genre n’existait. L’ordinateur personnel n’existait pas. Il décrivait l’ordinateur portable et la tablette en 1972.

Mais le Dynabook n’a jamais vraiment porté sur le matériel. Il portait sur ce à quoi servait l’informatique. Le cadre de Kay — tiré des théories de l’apprentissage de Jerome Bruner et des travaux de Seymour Papert avec Logo — était que l’ordinateur est un nouveau médium, comme l’écriture ou l’imprimerie, et que le but d’un médium est de permettre aux humains de penser des pensées qu’ils ne pouvaient penser auparavant.47 Un livre, on ne peut que le lire ; un Dynabook, on peut y écrire et y simuler. Un enfant devrait pouvoir construire un modèle dynamique d’une idée et le regarder s’exécuter. Voilà pourquoi il devait être personnel, portable et possédé : un médium pour la pensée doit toujours être à portée de main, comme l’est un carnet, sinon il n’est pas du tout un médium. Tout ce que Kay a construit découlait du fait de traiter l’ordinateur comme un médium plutôt que comme un outil.

L’interface graphique du PARC et « inventer le futur »

Alan Kay en train de parler

Le Dynabook avait besoin d’une interface qu’un enfant pourrait utiliser, alors le groupe de Kay en construisit une. L’interface graphique utilisateur à fenêtres superposées — des fenêtres empilées comme des feuilles sur un bureau, avec une souris pour pointer et faire passer l’une au premier plan — fut développée dans son Learning Research Group au PARC et tournait sur le Xerox Alto, la machine que le groupe appelait « le Dynabook intérimaire ».48 Chaque bureau que vous avez jamais utilisé descend de ce travail. En décembre 1979, Steve Jobs et un groupe d’ingénieurs d’Apple visitèrent le PARC et se virent montrer l’Alto exécutant Smalltalk : l’affichage en mode point, la souris, les fenêtres superposées.8 Ces idées passèrent dans le Lisa puis dans le Macintosh, et de là dans Windows et dans le courant dominant de l’informatique.8 L’interface que le monde entier utilise désormais fut construite pour servir une vision d’enfants créant dans un nouveau médium.

La devise qui animait ce travail est la phrase la plus citée de Kay : « La meilleure façon de prédire l’avenir, c’est de l’inventer. » Il a dit qu’elle était sortie d’une réunion du PARC au début de 1971 entre les chercheurs et les planificateurs de Xerox — « dans un accès de passion, j’ai prononcé la citation » — lorsque les planificateurs voulaient des prévisions et que la réponse de Kay fut que l’on ne prévoit pas un avenir que l’on a l’intention de construire.9 Le PARC était cette phrase rendue opérationnelle : au lieu de se demander ce que les ordinateurs deviendraient, le groupe de Kay décida ce que les ordinateurs devraient devenir, puis passa une décennie à le construire. L’avenir de l’informatique personnelle ne fut pas prédit au PARC. Il y fut inventé, à dessein.

La révolution informatique n’a pas encore eu lieu

En 1997, Kay donna une conférence inaugurale à OOPSLA intitulée « The Computer Revolution Hasn’t Happened Yet », et c’est le contrepoids nécessaire au récit triomphal.10 Son argument était que l’industrie avait pris les artefacts de la vision du PARC — les fenêtres, la souris, la machine personnelle — et manqué l’idée. L’informatique personnelle, disait-il, était surtout devenue l’automatisation du papier : documents numériques, courrier numérique, classeurs numériques, simulant l’ancien médium au lieu d’en devenir un véritablement nouveau. La révolution qu’il visait — l’ordinateur comme médium qui amplifie la pensée humaine, que les gens ordinaires programment comme ils écrivent — n’était pas arrivée. La métaphore du bureau l’avait emporté ; l’idée du Dynabook, non.

L’écart entre l’artefact et l’idée devint la critique tardive de sa vie. À travers le Viewpoints Research Institute, qu’il fonda en 2001, Kay s’opposa fermement à la lourdeur du logiciel moderne : des dizaines de millions de lignes de code pour faire ce qui, soutenait-il, pourrait être fait en une infime fraction de cela, si le système était cultivé à partir de parties propres, communiquant par messages, plutôt qu’accrété à partir de bibliothèques que personne ne comprend pleinement.411 Son projet « STEPS » tenta de reconstruire tout un système d’informatique personnelle — système d’exploitation, applications, et tout le reste — en environ vingt mille lignes, comme preuve d’existence que la lourdeur est un choix, et non une nécessité.11 La conviction de la messagerie court tout droit jusqu’à la plainte : un système que vous ne pouvez pas comprendre est un système dont les parties n’étaient pas correctement indépendantes. La lourdeur, c’est ce qui arrive quand les frontières fuient.

La méthode

La méthode est cohérente sur cinquante ans — un langage, une machine, une interface et une critique.

Trouver le point de vue qui rend le problème facile. Le premier mouvement de Kay n’est jamais d’attaquer un problème de front, mais de changer le cadre dans lequel il se situe. La messagerie au lieu des procédures ; un médium au lieu d’un outil ; des cellules au lieu du code. La formule des 80 points de QI est la méthode énoncée comme un slogan : le levier réside dans la perspective, pas dans l’effort.3

Construire à partir d’entités indépendantes qui s’envoient des messages, et non de procédures qui s’appellent. L’unité de construction est un objet qui protège son propre état et n’expose que des messages. On fait croître un grand système comme la biologie fait croître un organisme — en composant de nombreuses petites parties indépendantes communiquant par messages — de sorte qu’aucune pièce ne dépende des entrailles d’une autre.12

Lier le plus tard possible. Décidez les choses au dernier moment responsable. La liaison tardive est ce qui garde le système assez souple pour changer pendant qu’il tourne et maintient les émetteurs ignorants des entrailles des destinataires. La liaison précoce achète de la vitesse et abandonne l’indépendance qui permet à un système de croître.1

Traiter l’ordinateur comme un médium pour la pensée humaine. Le critère du Dynabook n’est pas « que peut faire cet outil pour une tâche ? » mais « que peut désormais penser, créer et simuler une personne, qu’elle ne pouvait faire auparavant ? » La question reformule toute l’entreprise, de l’automatisation vers l’amplification.7

Inventer le futur plutôt que le prédire. Quand on vous demande de prévoir, décidez plutôt. La discipline du PARC consistait à choisir le monde que l’on voulait et à le construire, sur la conviction qu’une vision poursuivie pendant une décennie l’emporte sur n’importe quelle prédiction.9

Chaîne d’influence

Ceux qui l’ont façonné

Ivan Sutherland et Sketchpad. La thèse de 1963 que Dave Evans remit à Kay à son arrivée — avec ses maîtres et ses instances, sa manipulation directe sur un écran — est la graine documentée de sa réflexion sur les objets et le graphisme interactif.4 (Influence directe)

Simula et l’idée d’objet. Le langage Simula donna à Kay la notion concrète d’objets regroupant état et comportement, qu’il radicalisa ensuite en « tout est un objet, communiquant par messages ».4 (Influence directe)

Seymour Papert et Logo, par le truchement de Piaget. Les travaux de Papert sur les enfants programmant — et la psychologie du développement de Piaget et Bruner derrière eux — donnèrent à Kay la conviction que le véritable public de l’informatique était les apprenants et que son véritable but était un médium pour la pensée, et non le traitement de données. Le Dynabook, c’est l’ambition de Logo sous forme portable.47 (Influence formatrice)

La biologie. La formation de Kay en biologie moléculaire fournit la métaphore maîtresse : la cellule comme ordinateur complet et autoprotecteur, et l’organisme comme des millions d’entre elles communiquant par messages. L’orientation objet, pour lui, c’est du logiciel qui essaie d’être de la biologie.2 (Influence formatrice)

Ceux qu’il a façonnés

Tous les langages orientés objet. Le modèle de Smalltalk — objets, envois de messages, répartition dynamique — court directement jusqu’à Objective-C, Ruby et Java, et son vocabulaire est désormais le mobilier par défaut de la programmation. Même les langages qui ont ignoré son avertissement sur la messagerie ont hérité du terme qu’il a forgé.56

L’interface graphique utilisateur, et à travers elle le Mac et Windows. L’interface à fenêtres superposées issue de son groupe au PARC, montrée à Jobs en 1979 sur l’Alto, devint le Lisa, le Macintosh, puis l’interface de pratiquement tous les ordinateurs personnels depuis.8

L’ordinateur portable et la tablette. Le Dynabook décrivait, en 1972, l’ordinateur personnel portable que le monde entier transporte désormais. La machine sur votre bureau et l’ardoise dans votre sac sont toutes deux, dans leurs grandes lignes, la chose que Kay avait esquissée.7

Le fil conducteur

Barbara Liskov a fait de l’abstraction de données une primitive de programmation — un type est le contrat qu’il tient, et un sous-type doit honorer chaque promesse que fait son supertype. C’est la conviction de Kay sur la messagerie énoncée sous forme de théorie des types : ce qui compte, c’est le contrat entre les objets, et non leurs entrailles, et un appelant devrait pouvoir envoyer un message et faire confiance à la réponse sans jamais lire comment elle est produite. Là où Thompson et Ritchie ont construit Unix à partir de petits programmes qui « font une seule chose, mais bien » et se composent par des tubes propres, Kay a construit des systèmes à partir de petits objets qui font une seule chose et se composent par des messages propres — le même pari qu’un grand système devrait être de nombreuses petites entités indépendantes, couplées uniquement à leurs interfaces. Et Grace Hopper a insisté pour que l’ordinateur rejoigne les humains dans leur propre langue, déplaçant la traduction dans la machine afin qu’une personne puisse raisonner dans ses propres termes ; Kay a poussé cela à sa limite avec le Dynabook — l’ordinateur ne se contentant pas de parler la langue de l’humain mais devenant un médium dans lequel l’humain pense. La ligne court ensuite vers Steve Jobs, qui entra au PARC en 1979, vit l’interface de Kay, et la porta au monde. (Pont de la série)

Ce que j’en retiens

La leçon que je garde, c’est que la partie la plus difficile de tout système est le choix du cadre, et que le cadre vaut davantage que l’ingéniosité qu’il contient. La formule des 80 points de QI de Kay est la phrase la plus utile de toute cette série, parce qu’elle vous dit où dépenser votre effort : non pas à peiner plus fort à l’intérieur d’un mauvais modèle, mais à trouver le modèle dans lequel le problème se dissout. La messagerie a été ce mouvement-là pour le logiciel. Traiter l’ordinateur comme un médium a été ce mouvement-là pour l’informatique personnelle. La discipline consiste à continuer de se demander quel point de vue rend cela facile ? avant d’écrire une ligne. C’est le même critère que la qualité étant la seule variable — la question n’est jamais « puis-je faire fonctionner plus durement le mauvais design ? » mais « ai-je trouvé le bon ? »

Dans le monde où je construis aujourd’hui — agents, boucles d’outils, systèmes d’IA — la véritable définition de l’orientation objet par Kay est l’idée la plus porteuse de ce site, et presque personne ne la nomme. Un agent est un objet de Kay : il conserve un état privé, vous ne pouvez pas lire ses entrailles, et vous n’interagissez avec lui qu’en lui envoyant un message et en lui faisant confiance pour décider comment répondre. Un système multi-agents est exactement la vision biologique de Kay — de nombreux ordinateurs indépendants, chacun protégeant son propre contexte, croissant vers quelque chose de plus grand par la messagerie, jamais en mettant la main dans la mémoire les uns des autres. Toute la raison pour laquelle cela fonctionne, quand cela fonctionne, c’est la liaison tardive : l’émetteur ignore comment le destinataire répondra, et cette ignorance est la fonctionnalité, parce que c’est elle qui permet aux parties de changer indépendamment. Bien construire des agents, c’est construire les cellules de Kay — et les échecs sont toujours le même échec, une frontière qui a fui. Cette conviction, selon laquelle les systèmes devraient être cultivés à partir de petites entités qui s’envoient des messages plutôt qu’assemblés à partir de parties qui mettent la main les unes chez les autres, est le fil conducteur d’une esquisse du Dynabook de 1972 jusqu’à un harnais d’agents de 2026, et c’est exactement pourquoi la porte de l’évidence vérifie la réponse d’un composant, et non son intérieur.

FAQ

Quelle est la philosophie d’ingénierie d’Alan Kay ?

La conviction centrale de Kay est qu’un système trop vaste pour être tenu dans la tête doit être construit à partir d’objets indépendants qui protègent leur propre état privé et ne communiquent qu’en s’envoyant des messages — cultivé comme un organisme biologique à partir de nombreuses petites cellules, jamais assemblé à partir de parties qui mettent la main les unes chez les autres. Sous-jacente à cela se trouve une posture face aux problèmes : un changement de point de vue vaut davantage que l’ingéniosité brute, de sorte que le travail consiste à trouver le cadre dans lequel un problème difficile devient facile. Il a appliqué cela à la programmation (Smalltalk), à l’ordinateur lui-même (le Dynabook, l’ordinateur comme médium pour la pensée), et à l’industrie (sa critique selon laquelle la véritable révolution informatique n’a pas encore eu lieu).13710

Qu’entendait Alan Kay par « programmation orientée objet » et « messagerie » ?

Kay a forgé le terme « orienté objet », mais il a dit plus tard le regretter parce qu’il pousse les gens à se concentrer sur les objets, les classes et l’héritage — « l’idée mineure ». Sa véritable définition comporte trois parties : la messagerie ; la conservation, la protection et la dissimulation locales de l’état de chaque objet ; et la liaison extrêmement tardive de toutes choses.1 La grande idée, c’est la messagerie : les objets ne mettent jamais la main dans les entrailles les uns des autres ; un émetteur envoie un message et le destinataire décide de ce qu’il signifie au moment où il arrive. Remarquez que les classes et l’héritage ne sont pas sur la liste — un langage peut avoir les deux et tout de même manquer le point s’il laisse un objet opérer sur l’état privé d’un autre. La messagerie est ce qui rend les parties véritablement indépendantes, ce qui permet à un grand système de croître et de changer sans devenir un enchevêtrement.16

Qu’était le Dynabook ?

Le Dynabook était l’ordinateur personnel portable que Kay décrivit dans son article de 1972 « A Personal Computer for Children of All Ages », présenté à la conférence nationale de l’ACM : une machine à écran plat, de la taille d’un carnet, qu’un individu posséderait et utiliserait partout, contenant sa bibliothèque, sa musique, ses dessins et ses programmes.7 Aucune machine de ce genre n’existait ; il décrivait l’ordinateur portable et la tablette des décennies en avance. Mais son véritable propos était conceptuel — l’ordinateur comme nouveau médium pour la pensée humaine, comme l’écriture ou l’imprimerie, dans lequel une personne (surtout un enfant) pourrait construire et exécuter des modèles dynamiques d’idées, et non simplement consommer du contenu. Le Xerox Alto fut construit comme « le Dynabook intérimaire », et les ordinateurs portables et tablettes que nous transportons aujourd’hui sont la vision réalisée dans le matériel.47

Pourquoi Alan Kay a-t-il remporté le prix Turing ?

L’ACM a décerné à Kay le prix A.M. Turing 2003 « pour avoir été le pionnier de nombre des idées à la racine des langages de programmation orientés objet contemporains, pour avoir dirigé l’équipe qui développa Smalltalk, et pour ses contributions fondamentales à l’informatique personnelle ».12 La citation rend compte des deux moitiés de son travail : le langage et le modèle de transmission de messages qui ont façonné la manière dont le logiciel est construit, et le Dynabook ainsi que les travaux d’interface graphique du PARC qui ont façonné ce qu’est un ordinateur personnel. Il fut la figure clé derrière Smalltalk, derrière l’interface à fenêtres superposées que Steve Jobs vit au PARC en 1979 et porta dans le Macintosh, et derrière le concept même de l’ordinateur personnel et portable comme médium pour la pensée.48


Sources


  1. Alan Kay, courriel à la liste de diffusion des développeurs de Squeak, 10 octobre 1998, archivé et largement cité sur picostitch, « Alan Kay On Messaging ». « I’m sorry that I long ago coined the term ‘objects’ for this topic because it gets many people to focus on the lesser idea. The big idea is ‘messaging’… » La définition en trois parties de la POO selon Kay — « messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things » — apparaît dans une réponse ultérieure (2003) sur le même thème, archivée sur Stefan Ram, « Dr. Alan Kay on the Meaning of ‘Object-Oriented Programming.’ » Discussion : Hacker News. 

  2. Alan Kay, sur la métaphore biologique / cellulaire des objets et sur le passage à l’échelle du logiciel comme un organisme ; voir ses souvenirs dans « The Early History of Smalltalk », ACM SIGPLAN History of Programming Languages II (1993), ainsi que la formulation « des millions de cellules, chacune un ordinateur complet » résumée dans son entrée Wikipedia « Alan Kay ». 

  3. « Quote Origin: Point of View Is Worth 80 IQ Points », Quote Investigator. Attribuée à Kay ; première formulation documentée dans sa conférence du séminaire Creative Think, le 20 juillet 1982 (enregistrée par Andy Hertzfeld), avec des apparitions publiées en 1984-1985. Variantes : « Point of view is worth 80 IQ points », « A change in perspective is worth 80 IQ points ». Également recensée sur Wikiquote. 

  4. « Alan Kay », Wikipedia. Né le 17 mai 1940 à Springfield, dans le Massachusetts ; doctorat, Université de l’Utah, 1969, directeur David C. Evans (thèse FLEX) ; Sketchpad d’Ivan Sutherland et Simula comme influences sur sa pensée des objets ; assista à la « Mother of All Demos » d’Engelbart en 1968 ; rejoignit Xerox PARC en 1970 à la tête du Learning Research Group ; Smalltalk avec Dan Ingalls et Adele Goldberg ; le Dynabook ; l’interface à fenêtres superposées et l’Alto comme « le Dynabook intérimaire » ; forgea le terme « orienté objet » ; fonda le Viewpoints Research Institute (2001). Voir aussi Britannica, « Alan Kay ». 

  5. « Smalltalk », Wikipedia. Conçu chez Xerox PARC ; l’un des premiers langages pleinement orientés objet et typés dynamiquement ; tout est un objet, tout calcul se fait par transmission de messages ; image dynamique, à liaison tardive et vivante. Implémentation dirigée par Dan Ingalls ; documentation et travail sur le système par Adele Goldberg. 

  6. Alan Kay, remarques de la conférence inaugurale OOPSLA 1997, « When I made up the term object-oriented, I did not have C++ in mind » ; voir « The Computer Revolution Hasn’t Happened Yet », vidéo et transcription archivées, Internet Archive. 

  7. Alan C. Kay, « A Personal Computer for Children of All Ages », publié à l’origine dans les Proceedings of the ACM National Conference, Boston, août 1972 (réédité par le Viewpoints Research Institute). Décrit le Dynabook — un ordinateur personnel portable, de la taille d’un carnet, comme médium pour l’apprentissage — et s’appuie sur Bruner et Papert/Logo. Aperçu et filiation du « Dynabook intérimaire » jusqu’à l’Alto : « Dynabook », Wikipedia. 

  8. « History of the graphical user interface », Wikipedia, et « Xerox Alto », Wikipedia. L’interface à fenêtres superposées développée dans le Learning Research Group de Kay au PARC ; Steve Jobs et des ingénieurs d’Apple se virent montrer l’Alto exécutant Smalltalk-76 — affichage en mode point, souris, fenêtres superposées — en décembre 1979 ; les idées passèrent dans l’Apple Lisa et le Macintosh. 

  9. « Quote Origin: We Cannot Predict the Future, But We Can Invent It », Quote Investigator. Le récit que Kay fait lui-même (courriel de 1998) fait remonter « The best way to predict the future is to invent it » à une réunion du début de 1971 entre les chercheurs du PARC et les planificateurs de Xerox — « In a fit of passion I uttered the quote ! » Première attribution publiée : InfoWorld, avril 1982. 

  10. Alan Kay, « The Computer Revolution Hasn’t Happened Yet », conférence inaugurale OOPSLA 1997 (Internet Archive). Argument selon lequel l’industrie a adopté les artefacts de l’informatique personnelle tout en manquant l’idée — « automatiser le papier » plutôt que construire un médium véritablement nouveau. 

  11. Viewpoints Research Institute, STEPS Toward Expressive Programming Systems — le projet de reconstruire tout un système d’informatique personnelle (système d’exploitation, applications, et tout le reste) en environ 20 000 lignes de code, comme critique de la lourdeur logicielle. Rapport final NSF archivé sur VPRI / Internet Archive (miroir worrydream). Contexte : Wikipedia, « Viewpoints Research Institute ». 

  12. « A.M. Turing Award Laureates – Alan Kay », Wikipedia (citation de 2003). « For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing. » Page du lauréat de l’ACM : amturing.acm.org/award_winners/kay_3972189.cfm. 

Articles connexes

Philosophie de l'ingénierie : Leslie Lamport, réfléchir avant de coder

Leslie Lamport a fait des systèmes distribués une science : le temps n'est pas global, la causalité est ce qui est réel,…

18 min de lecture

Philosophie de l'ingénierie : Barbara Liskov, le contrat fait le type

Barbara Liskov a fait de l'abstraction de données une primitive de programmation : un type est le contrat qu'il respecte…

19 min de lecture

The Shader Gallery That Lied: Debugging 216 WebGL Presets

A user said the shader playground looked broken. Pixel-readback testing found 30 dead presets, 11 that never compiled, a…

11 min de lecture