← Tous les articles

Philosophie de l'ingénierie : Grace Hopper, faire parler la machine en langage humain

Grace Hopper, contre-amirale de l'US Navy et pionnière de l'informatique

Points clés

  • Toute la philosophie de Hopper en une phrase : faire parler la machine dans la langue de l’humain, et ne jamais contraindre l’humain à parler celle de la machine.
  • Le premier compilateur, A-0 (1952), a fait peser le travail de traduction sur la machine — automatisé une fois pour toutes dans le logiciel au lieu d’être payé à la main par chaque programmeur, indéfiniment.
  • Le fil de la nanoseconde a transformé la latence en objet physique : 11,8 pouces que l’on pouvait tenir en main, si bien que le coût du temps gaspillé a cessé d’être abstrait.
  • « On a toujours fait comme ça » était, à ses yeux, la phrase la plus dangereuse de la langue — et chacune de ses inventions y répondait.

Le principe

« Les humains sont allergiques au changement. Ils adorent dire : “On a toujours fait comme ça.” J’essaie de combattre cela. C’est pourquoi j’ai au mur une horloge qui tourne à l’envers. » — Grace Hopper1

Ce tempérament découle d’une seule conviction : c’est à la machine de servir l’humain, et non l’inverse. En 1953, à une époque où programmer signifiait coder à la main des instructions numériques pour une machine donnée, Hopper proposa de formuler les problèmes de traitement de données avec des mots anglais et de laisser l’ordinateur faire la traduction. Sa hiérarchie lui répondit que c’était impossible : les ordinateurs ne comprenaient pas l’anglais.2 Or elle ne prétendait pas vraiment qu’ils le comprenaient. Elle affirmait que le travail de traduction revenait à la machine, où il pouvait être automatisé une fois pour toutes, plutôt qu’à chaque programmeur, pour toujours. Voilà toute la philosophie : faire parler la machine dans la langue de l’humain, et non l’inverse.

Soixante-dix ans plus tard, on mesure mal à quel point c’était radical. L’hypothèse dominante voulait que la programmation soit un art ésotérique réservé à ceux qui savaient penser dans les termes de la machine, et que telle était simplement la nature du travail. Hopper rétorquait que cette nature du travail était un choix que quelqu’un avait fait sans jamais le réexaminer — le « on a toujours fait comme ça » s’était figé en loi de la physique. Toute sa carrière est le refus de ce figement : le premier compilateur, le premier langage proche de l’anglais, et toute une vie passée à enseigner aux gens que les limites qu’ils acceptaient n’étaient pas réelles.

Le penchant anti-dogme et la mission d’accessibilité sont le même instinct vu sous deux angles. L’abstraction — laisser une personne exprimer son intention dans ses propres termes et confier à un outil le soin de la traduire jusqu’au métal — n’est pas un confort ajouté par-dessus la programmation. Pour Hopper, c’était la raison d’être de la programmation : le travail consistant à ouvrir la machine à ceux qui, sinon, en seraient exclus. Lorsque le président Obama lui remit la Presidential Medal of Freedom en 2016, la citation le disait sans détour : elle « a inventé le premier compilateur, qui a permis d’écrire les programmes en langage ordinaire avant de les traduire pour que les ordinateurs les comprennent ».3 La même conviction sous-tend l’idée que les bons outils devraient optimiser pour l’être humain qui les utilise, et non pour la machine qui les exécute.

Contexte

Grace Brewster Murray Hopper naît le 9 décembre 1906 à New York.4 Elle obtient une licence de mathématiques et de physique au Vassar College en 1928, puis un master (1930) et un doctorat de mathématiques (1934) à Yale — un doctorat de mathématiques que presque aucune femme de sa génération ne détenait.4 Elle enseigne les mathématiques à Vassar tout au long des années 1930, et ce détail compte : avant d’être programmeuse, elle fut enseignante, et l’instinct de rendre une idée difficile saisissable ne la quittera jamais.

En décembre 1943, en pleine guerre, elle s’engage dans la réserve de l’United States Navy. La Navy renâcle d’abord — elle a trente-six ans et pèse bien en deçà du minimum requis —, mais elle s’impose, et se voit affectée en 1944 au Bureau of Ordnance Computation Project de Harvard, où elle devient l’une des premières programmeuses du Harvard Mark I sous la direction de Howard H. Aiken.4 Le Mark I était un calculateur électromécanique de la taille d’une pièce ; Hopper coécrit son manuel de 561 pages, A Manual of Operation for the Automatic Sequence Controlled Calculator, qui fut pendant des années le texte de référence pour programmer la machine.4

Grace Hopper au travail, entourée de manuels UNIVAC et d'une bobine de bande magnétique

Après la guerre, elle quitte le service actif mais reste dans la réserve, et rejoint en 1949 l’Eckert-Mauchly Computer Corporation — bientôt intégrée à Remington Rand — pour travailler sur l’UNIVAC I, le premier ordinateur commercial des États-Unis.4 C’est là, ne soudant plus du code à la main sur une machine de recherche unique mais cherchant à rendre un produit utilisable par des entreprises ordinaires, que le problème de sa vie se précise. Aiken lui avait donné la machine. UNIVAC lui donna le client. Le client ne savait pas programmer, et Hopper décida que c’était à l’ordinateur de résoudre ce problème, pas au client.

L’œuvre

Le premier compilateur : A-0 (1952)

En 1952, Hopper a construit le système A-0, largement reconnu comme le premier compilateur.5 L’idée, rétrospectivement, est d’une simplicité presque gênante, et elle était hérétique à l’époque. Les programmeurs avaient constitué des bibliothèques de sous-programmes utiles, mais pour en réutiliser un, il fallait recopier ses instructions à la main dans son propre programme et corriger laborieusement chaque adresse mémoire. L’A-0 de Hopper permettait au contraire de désigner chaque sous-programme par un court numéro d’appel et d’en fournir les arguments ; le système allait alors chercher les routines sur une bande, résolvait les adresses et assemblait un programme exécutable.5

Les puristes notent, à juste titre, que l’A-0 tenait davantage de ce qu’on appellerait aujourd’hui un loader ou un linker que d’un compilateur optimisant moderne.5 C’est vrai, et il faut le dire. Mais c’est le saut conceptuel qui demeure : un programme pouvait être une spécification écrite avec des symboles commodes, et un logiciel pouvait traduire automatiquement cette spécification en code machine. La traduction était désormais l’affaire de la machine. La manière dont Hopper justifiait elle-même sa démarche nous est parvenue à travers ses mots sur les années UNIVAC : « J’étais autrefois professeure de mathématiques. À l’époque, j’ai constaté qu’un certain nombre d’étudiants étaient incapables d’apprendre les mathématiques. On m’a alors confié la tâche de faire en sorte que les hommes d’affaires utilisent facilement nos ordinateurs. »2 Chaque compilateur depuis lors — chaque ligne de code écrite par quiconque dans un langage situé au-dessus des instructions machine brutes — descend de cette décision.

FLOW-MATIC et le chemin vers COBOL

L’A-0 traduisait des symboles. L’étape suivante consistait à rendre ces symboles anglais. Entre 1955 et 1959, Hopper et son équipe chez Remington Rand mettent au point FLOW-MATIC, le premier langage de programmation à exprimer les opérations par des énoncés proches de l’anglais plutôt que par une notation mathématique.6 Un programme FLOW-MATIC se lisait à l’aide de commandes comme INPUT, COMPARE et MOVE — des mots qu’un homme d’affaires pouvait lire et comprendre en gros sans être mathématicien. C’était, selon ses propres termes, l’entreprise délibérée de rendre l’ordinateur utilisable par des gens qui n’allaient jamais penser dans les termes de la machine.

FLOW-MATIC a directement nourri COBOL. Lorsque le comité CODASYL se réunit en 1959 pour concevoir un langage commun orienté gestion, FLOW-MATIC était le langage de traitement de données proche de l’anglais le plus mature qui existât, et il devint la base principale du nouveau standard.6 On qualifie à juste titre Hopper de grand-mère conceptuelle de COBOL — non pas son unique autrice, mais la personne dont le travail et le militantisme ont rendu pensable un langage de gestion proche de l’anglais et indépendant de la machine. Et l’indépendance vis-à-vis de la machine est la seconde idée radicale réunie ici : elle défendait la notion qu’un programme devait être portable d’un ordinateur à l’autre plutôt qu’ajusté à la main à un seul, ancêtre direct de la conviction « écrire une fois, porter partout » qu’Unix et C ont rendue célèbre. Le même code, le même anglais, tournant sur des machines pour lesquelles il n’avait jamais été écrit. COBOL a survécu à presque tout ce qui l’entourait ; des décennies plus tard, il fait toujours tourner les systèmes bancaires et gouvernementaux du monde entier, ce qui constitue son propre plaidoyer discret en faveur de la durabilité d’une idée bâtie autour du lecteur humain.

La nanoseconde : rendre la latence physique

Le procédé pédagogique le plus célèbre de Hopper n’était pas du code du tout. C’était un bout de fil. Comme on lui demandait un jour pourquoi les communications par satellite prenaient autant de temps, elle entreprit de rendre le coût du temps palpable. Elle distribuait des longueurs de fil coupées à 11,8 pouces — la distance maximale que l’électricité peut parcourir en une nanoseconde, un milliardième de seconde — pour qu’une unité de délai abstraite devienne un objet physique dans la main.7 Puis elle sortait une bobine de 984 pieds de long : voilà, expliquait-elle, ce qu’était une microseconde. « Je me dis parfois qu’on devrait en accrocher une au-dessus du bureau de chaque programmeur », disait-elle, « pour qu’ils sachent ce qu’ils gaspillent quand ils gaspillent des microsecondes. »7

Le commodore Grace Hopper s'exprimant à un pupitre, 1985

Le fil procède du même instinct d’enseignante que le compilateur, mais vise une autre leçon. Le compilateur disait : vous ne devriez pas avoir à penser dans les termes de la machine pour l’utiliser. La nanoseconde disait : mais vous devez bel et bien respecter la physique de la machine. La latence cessait d’être un nombre sur une diapositive pour devenir une longueur qu’un signal doit physiquement parcourir, régie par la vitesse de la lumière, et chaque microseconde gaspillée est du fil que vous avez fait parcourir au signal sans raison. Les fils se trouvent aujourd’hui au National Museum of American History du Smithsonian.8 Ils sont aussi, presque exactement, le « la vitesse de la lumière, c’est nul » de John Carmack — quarante ans plus tôt et en cuivre. L’un comme l’autre ont transformé le plancher physique incompressible de la latence en quelque chose qu’on ne pouvait ni abstraire ni balayer d’un revers de main, parce qu’on pouvait le voir, ou le tenir.

Le bug et le tempérament anti-dogme

Le 9 septembre 1947, les opérateurs du Harvard Mark II — la machine qui succéda à celle d’Aiken, dans l’équipe où travaillait Hopper — attribuèrent une panne à un papillon de nuit coincé dans le relais nº 70, panneau F. Ils retirèrent l’insecte, le collèrent dans le journal de bord avec du ruban adhésif et écrivirent : « First actual case of bug being found » (« Premier cas avéré de bug »).9 Cette page du journal, papillon toujours attaché, est aujourd’hui conservée par le Smithsonian.8

La version honnête de cette histoire a son importance, car Hopper la racontait si bien que les faits s’en sont brouillés. Le papillon était réel et la date est documentée. Mais le mot « bug » pour désigner un défaut technique lui était bien antérieur — il était en usage dès l’époque de Thomas Edison — et les opérateurs faisaient presque certainement un jeu de mots, mêlant le terme technique qu’ils connaissaient déjà à l’insecte bien réel qu’ils venaient d’extraire.9 Hopper, selon la plupart des témoignages, n’était même pas celle qui l’avait trouvé. Ce qu’elle fit, avec son brio coutumier, ce fut de populariser l’anecdote et le vocabulaire de « bug » et de « debugging » jusqu’à ce qu’ils deviennent la langue maternelle du domaine.9 Le mérite exact est donc le suivant : elle n’a pas inventé le mot « bug », et elle n’a probablement pas attrapé le papillon, mais elle a fait en sorte que l’histoire et le mot marquent les esprits. C’est là une forme de contribution à part entière — la contribution de l’enseignante, une fois encore.

Le tempérament qui sous-tendait tout cela était une guerre permanente contre les présupposés hérités. L’horloge de son mur tournait à l’envers, délibérément, pour prouver que la convention que tout le monde tenait pour immuable devenait arbitraire dès l’instant où l’on décidait d’en construire une autre.1 « On a toujours fait comme ça » était, pour Hopper, la phrase la plus dangereuse de la langue — et le compilateur, le langage proche de l’anglais, le programme portable et le fil au creux de la main en étaient autant de réfutations.

La méthode

La méthode reste constante sur quarante ans — calcul balistique, informatique commerciale, conception de langages et toute une vie d’enseignement.

Faire peser le travail de traduction sur la machine. Le geste récurrent de sa carrière consiste à prendre un travail que chaque humain effectue alors à la main — résoudre des adresses, penser en opcodes numériques, ajuster du code à un ordinateur précis — et à l’automatiser une fois pour toutes, dans le logiciel. Le compilateur, c’est cette idée ; FLOW-MATIC, c’est cette idée ; l’indépendance vis-à-vis de la machine, c’est cette idée.56

Laisser les gens parler leur propre langue. La programmation devrait rejoindre l’utilisateur là où il se trouve. Un homme d’affaires devrait pouvoir écrire MOVE et COMPARE, sans mémoriser un jeu d’instructions. L’accessibilité n’a jamais été une fonctionnalité greffée sur l’outil ; pour Hopper, c’était la raison même de l’existence de l’outil.26

Rendre l’abstrait physique. Quand une idée est trop abstraite pour qu’on la respecte — une nanoseconde, une microseconde gaspillée —, construisez un objet physique qui impose la leçon. Le fil, c’est la pédagogie faite ingénierie : on ne discute pas avec une chose que l’on tient en main.7

Se méfier du « on a toujours fait comme ça ». Traitez la convention héritée comme une hypothèse, non comme une loi. L’horloge qui tourne à l’envers, c’est la méthode faite objet : prouver que la contrainte est arbitraire en faisant simplement autrement.1

Demander pardon plutôt que la permission. « Si c’est une bonne idée, faites-le. Il est bien plus facile de s’excuser que d’obtenir la permission », conseillait-elle — le corollaire opérationnel de la lutte contre le dogme. (Le sentiment lui est antérieur et la formulation exacte varie selon les sources, mais la phrase est la sienne sous la forme dont la Navy et le domaine se souviennent.)10 On n’accède pas à l’abstraction en attendant que ceux qui ont investi dans l’ancienne manière la bénissent.

Chaîne d’influence

Qui l’a façonnée

Howard Aiken et le Harvard Mark I. Aiken a confié à Hopper son premier ordinateur et son premier problème difficile, et le manuel du Mark I qu’elle a coécrit l’a forcée à réfléchir rigoureusement à la façon dont on instruit une machine — la question qui allait devenir l’œuvre de sa vie. (Influence directe)

L’United States Navy. La Navy lui a donné l’institution, la discipline et, à terme, la tribune ; elle est restée sous l’uniforme, par intermittence, pendant plus de quatre décennies. L’exigence militaire de procédures fiables, reproductibles et transmissibles a façonné sa conviction que la programmation devait être rendue systématique et transférable plutôt qu’artisanale. (Influence formatrice)

Ses années de professeure de mathématiques. Avant les machines, elle a enseigné. La question de l’enseignante — comment rendre cela saisissable à quelqu’un qui ne pense pas déjà comme moi ? — est le germe du compilateur, du langage proche de l’anglais et du fil. (Influence formatrice)

Qui elle a façonné

Tous les langages de haut niveau. Le compilateur a rendu possible la programmation dans autre chose que du code machine brut. FORTRAN, COBOL et tout ce qui a suivi reposent sur la prémisse qu’A-0 a démontrée : un outil peut traduire des symboles commodes pour l’humain en instructions machine.5

COBOL et l’informatique de gestion. En tant que grand-mère conceptuelle de COBOL, Hopper a mis la programmation proche de l’anglais et indépendante de la machine entre les mains d’entreprises du monde entier. Le langage fait encore tourner une part énorme des systèmes financiers et gouvernementaux de la planète.6

L’accessibilité comme finalité de la programmation. L’héritage le plus profond n’est pas un langage mais une posture : ouvrir la machine à davantage de gens est le travail, et non un effet secondaire de celui-ci. La citation d’Obama — « nous pouvons remercier Grace Hopper d’avoir ouvert la programmation à des millions de personnes supplémentaires » — dit exactement cela.3

Le fil conducteur

Yukihiro Matsumoto a conçu Ruby pour optimiser le bonheur du programmeur — c’est au langage de se plier à l’humain, et non à l’humain de se plier au langage. C’est le « rendre nos ordinateurs faciles à utiliser pour les hommes d’affaires » de Hopper redit en 1995 : l’héritier philosophique direct de faire parler la machine en langage humain. Le « la vitesse de la lumière, c’est nul » de John Carmack est son fil de la nanoseconde rendu sous forme de phrase — tous deux insistent sur le fait que la latence est physique, un plancher incompressible que l’on respecte plutôt que d’abstraire ; elle y est simplement arrivée quarante ans plus tôt, et elle a fait le sien en cuivre que l’on pouvait tenir. Et l’Unix et le C de Thompson et Ritchie, bâtis pour qu’un système d’exploitation puisse être écrit une fois et porté plutôt que soudé à une seule machine, sont l’accomplissement pratique de l’indépendance vis-à-vis de la machine que Hopper défendait pour COBOL : le même programme, tournant sur un matériel pour lequel il n’a jamais été écrit. (Pont entre les épisodes)

Ce que j’en retiens

La leçon que je retiens, c’est que l’abstraction n’est pas un luxe que l’on ajoute quand on a le temps — c’est tout le métier. Hopper a regardé la programmation en 1952, a vu que la partie difficile pesait sur chaque humain qui touchait à la machine, et a déplacé ce fardeau dans le logiciel, où l’on pouvait le payer une seule fois. C’est le geste que je m’efforce de reproduire dans tout ce que je construis aujourd’hui : repérer le travail de traduction que les humains font à la main, encore et encore, et l’automatiser dans l’outil. L’exigence est la même que celle de la qualité comme seule variable — la question n’est jamais « peut-on entraîner quelqu’un à tolérer cette interface ? » mais « pourquoi devrait-il avoir à le faire ? ».

Dans le monde où je construis aujourd’hui — agents, boucles d’outils, systèmes d’IA —, les deux moitiés de Hopper sont l’une et l’autre porteuses, et elles se tirent mutuellement la corde exactement de la bonne manière. La moitié accessibilité dit : laissez l’humain exprimer son intention dans sa propre langue et faites que le système la traduise jusqu’à ce dont la machine a besoin — ce qui est, presque littéralement, ce qu’est une couche d’appel d’outils LLM, un compilateur pour l’anglais soixante-dix ans plus tard. La moitié physique dit : mais ne laissez pas l’abstraction vous mentir sur le coût ; chaque appel de modèle est une nanoseconde de fil, et les empiler parce que l’interface est avenante, c’est ainsi qu’on gaspille des microsecondes qu’on ne voit pas. Et le tempérament — l’horloge qui tourne à l’envers, le refus du « on a toujours fait comme ça » — est ce dont j’ai le plus besoin face à un domaine qui prend ses conventions actuelles pour des lois. Cette conviction, que le goût est un système technique que l’on peut examiner et modifier plutôt qu’une tradition dont on hérite, court tout droit d’un compilateur de 1952 à un cadre d’agent de 2026.

FAQ

Quelle est la philosophie de l’ingénierie de Grace Hopper ?

La conviction centrale de Hopper était que c’est à la machine de servir l’humain, et non l’inverse : le travail de traduction de l’intention humaine en instructions machine relève du logiciel, automatisé une fois pour toutes, plutôt que de chaque programmeur, indéfiniment. Cette seule conviction a produit le premier compilateur (A-0, 1952) et le premier langage de programmation proche de l’anglais (FLOW-MATIC), tous deux destinés à rendre les ordinateurs utilisables par des gens qui ne pouvaient pas — et ne devraient pas avoir à — penser dans les termes de la machine.256 À cette mission d’accessibilité s’ajoutait un penchant anti-dogme implacable, résumé dans son idée que « on a toujours fait comme ça » est la phrase la plus dangereuse de la langue.1

Qu’a inventé Grace Hopper ?

Elle a construit le système A-0 en 1952, largement reconnu comme le premier compilateur, qui traduisait automatiquement des spécifications symboliques de programmes en code machine.5 Elle a ensuite dirigé le développement de FLOW-MATIC (1955-1959), le premier langage de programmation à utiliser des énoncés proches de l’anglais, qui devint la base principale de COBOL.6 On la surnomme la grand-mère conceptuelle de COBOL et une championne de la programmation indépendante de la machine. Elle s’est élevée au grade de contre-amirale dans l’US Navy, a pris sa retraite en 1986 en tant que doyenne de ses officiers en service actif, et a reçu la Presidential Medal of Freedom à titre posthume en 2016 ; un destroyer de la Navy, l’USS Hopper, porte son nom.34

Qu’était le fil de la « nanoseconde » de Grace Hopper ?

C’était son outil pédagogique le plus célèbre : des longueurs de fil coupées à 11,8 pouces, la distance maximale que l’électricité peut parcourir en une nanoseconde (un milliardième de seconde). Elle les distribuait pour qu’une unité de délai abstraite devienne un objet physique que l’on pouvait tenir.7 Elle l’opposait à une bobine de 984 pieds représentant une microseconde, expliquant aux programmeurs qu’elle montrait « ce qu’ils gaspillent quand ils gaspillent des microsecondes ».7 La leçon : la latence n’est pas abstraite — c’est une longueur physique qu’un signal doit franchir. Les fils se trouvent aujourd’hui au National Museum of American History du Smithsonian.8

Grace Hopper a-t-elle inventé le terme « bug informatique » ?

Non, et la version honnête est plus intéressante. Le 9 septembre 1947, les opérateurs du Mark II de Harvard trouvèrent un papillon de nuit coincé dans un relais, le collèrent dans le journal de bord et écrivirent « First actual case of bug being found » ; cette page du journal est conservée par le Smithsonian.89 Mais le mot « bug » pour désigner un défaut technique précède le papillon de plusieurs décennies — il était en usage à l’époque de Thomas Edison — et les opérateurs faisaient presque certainement un jeu de mots sur un terme qu’ils connaissaient déjà. Hopper, selon la plupart des témoignages, n’a pas trouvé le papillon elle-même. Ce qu’elle a fait, c’est populariser l’anecdote et le vocabulaire de « bug » et de « debugging » jusqu’à ce qu’ils deviennent la langue standard du domaine.9


Sources


  1. Philip Schieber, « The Wit and Wisdom of Grace Hopper », OCLC Newsletter, nº 167 (mars/avril 1987). « Humans are allergic to change. They love to say, ‘We’ve always done it this way.’ I try to fight that. That’s why I have a clock on my wall that runs counter-clockwise. » Voir aussi « Grace Hopper », Wikiquote. 

  2. « FLOW-MATIC », Wikipedia. Hopper proposa fin 1953 que les problèmes de traitement de données soient exprimés par des mots-clés anglais ; sa hiérarchie écarta d’abord l’idée comme irréalisable. « I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for businessmen to use our computers. » 

  3. Le président Barack Obama, « Remarks by the President at Presentation of the Presidential Medal of Freedom », La Maison-Blanche, 22 novembre 2016. « If Wright is flight and Edison is light, then Hopper is code. » « She invented the first compiler, which allowed programs to be written in regular language and then translated for computers to understand. » 

  4. « Grace Hopper », Wikipedia. Née le 9 décembre 1906 à New York ; morte le 1er janvier 1992. Licence à Vassar (1928) ; master (1930) et doctorat de mathématiques (1934) à Yale. Engagée dans la réserve de l’US Navy en 1943 ; affectée au Harvard Mark I sous la direction de Howard Aiken en 1944 ; coautrice du manuel du Mark I. Rejoint Eckert-Mauchly/Remington Rand en 1949 pour travailler sur l’UNIVAC I. Promue contre-amirale ; retraitée en août 1986 en tant que doyenne des officiers en service actif de la Navy ; l’USS Hopper (DDG-70) nommé en son honneur. 

  5. « A-0 System », Wikipedia. Écrit par Grace Hopper en 1951-1952 pour l’UNIVAC I ; largement reconnu comme le premier compilateur, bien qu’il ait fonctionné davantage comme un loader/linker que comme un compilateur moderne — il acceptait des sous-programmes spécifiés par numéro d’appel avec leurs arguments et assemblait du code machine exécutable. Suivi par A-1, A-2 et finalement FLOW-MATIC. 

  6. « FLOW-MATIC », Wikipedia. Développé sous la direction de Hopper chez Remington Rand, 1955-1959 ; premier langage de programmation à exprimer les opérations par des énoncés proches de l’anglais ; prêt pour la production en 1958-1959 ; a directement façonné COBOL (via l’effort CODASYL de 1959), lui transmettant l’organisation des fichiers, la qualification des données et la structure en sections de programme. Voir aussi « COBOL », Wikipedia, sur FLOW-MATIC comme base principale du langage. 

  7. « Grace Hopper Explains the Nanosecond », ratfactor, transcription de sa conférence ; et « Grace Hopper to Programmers: Mind Your Nanoseconds! », High Scalability. Une nanoseconde, c’est 11,8 pouces de fil (la distance maximale que l’électricité parcourt en un milliardième de seconde) ; une microseconde, c’est une bobine de 984 pieds. « I sometimes think we ought to hang one over every programmer’s desk… so they know what they’re throwing away when they throw away microseconds. » 

  8. « Nanoseconds Associated with Grace Hopper », et « Log Book With Computer Bug », Smithsonian National Museum of American History. Les fils de la nanoseconde de 11,8 pouces et la page du journal de bord du Mark II de 1947 avec le papillon font partie de la collection du musée. 

  9. « Bug (engineering) », Wikipedia, et « The First Use of ‘Bug’ in the Context of Computing », HistoryofInformation.com. Le 9 septembre 1947, les opérateurs du Harvard Mark II trouvèrent un papillon dans le relais nº 70, panneau F, et consignèrent « First actual case of bug being found ». Le terme « bug » pour désigner un défaut technique précède cet épisode de plusieurs décennies (jusqu’à l’époque d’Edison) ; Hopper n’était probablement pas celle qui a trouvé le papillon, mais elle a contribué à populariser l’anecdote et les termes « bug » et « debug ». Voir aussi « The Bug in the Computer Bug Story », JSTOR Daily. 

  10. « Grace Hopper », Wikiquote. « If it’s a good idea, go ahead and do it. It’s much easier to apologize than it is to get permission. » Largement attribuée à Hopper (et citée dans le magazine Chips de l’US Navy, juillet 1986) ; Wikiquote note que le sentiment sous-jacent apparaît en imprimé avant Hopper, de sorte que la formulation est la sienne telle qu’on s’en souvient, tandis que l’idée est plus ancienne. Discussion sur l’attribution : Quote Investigator. 

Articles connexes

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

Philosophie de l'ingénierie : Roberto Ierusalimschy

Roberto Ierusalimschy a conçu Lua autour d'un seul principe — des mécanismes, pas des règles imposées — un langage petit…

24 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