Passer au contenu principal

 L’Amiral Grace Hopper a brisé les codes, une ligne à la fois. Si je vous parle de la Navy ou de l’armée, vous imaginez sûrement un carcan de règles, des marins alignés sur un pont qui se mettent au garde à vous. “It’s more fun to be a pirate than to join the Navy.” (C’est plus amusant d’être un pirate que de rejoindre la marine) disait Steve Jobs contrastant la culture innovatrice d’Apple avec la rigueur militaire. Grace Hopper est la première femme à avoir eu le grade de Contre-Amiral dans la marine américaine. Et quand vous imaginez un amiral, c’est certainement le capitaine Picard qui vous vient à l’esprit. C’est l’exploration, l’innovation, la découverte qui y est associée.

Aujourd’hui je veux vous faire le portrait de la marraine des langages de programmation moderne. C’est celle qui a imaginé et porté une vision de l’informatique qui nous est familière aujourd’hui. Quelle était cette vision ? Quelle est son histoire ? Quel est sa contribution à l’informatique moderne ? Est-ce qu’elle aurait kiffé Github Copilot ou Cursor ? Je vous raconte tout ça.

Qui était Grace Hopper ?

Grace Brewster Murray Hopper était une enfant curieuse, née le 9 décembre 1906 à New York, dans une famille où l’éducation et la rigueur avaient une place centrale. Son père, Walter Fletcher Murray, était courtier en assurances, et sa mère, Mary Campbell Van Horne, avait un penchant pour les mathématiques. Elle fut encouragée à étudier et à poser des questions dès son plus jeune âge. À 7 ans, elle avait déjà démonté tous les réveils de la maison pour comprendre comment ils fonctionnaient.

Être soutenue par sa famille lui permit de faire des études scientifiques. En 1928, elle est diplômée du Vassar College en mathématiques et physique (source : Yale). Elle va ensuite faire une maîtrise à l’Université de Yale. Tout en continuant son travail académique à Yale, elle commence à enseigner à Vassar. Elle obtient un doctorat à Yale en 1934. Elle aurait pu continuer dans l’enseignement et le monde universitaire.

Mais la Seconde Guerre mondiale va perturber ce destin tout tracé. En 1943, c’est la mobilisation, les Américains entrent en guerre. Grace rejoint la marine et est affectée au Harvard Computation Laboratory. C’est là, qu’elle rencontre le « Harvard Mark I », qui est considéré comme le premier ordinateur programmable. J’insiste sur ce point parce que j’ai du mal à imaginer un ordinateur qui ne soit pas programmable.

GRACE HOPPER & HARVARD MARK 1 |

Grace Hopper et le Harvard Mark 1

Et c’est cette rencontre avec l’informatique qui va donner lieu à maintes péripéties que je vais vous conter ensuite. En 1986, elle prend sa retraite. En 1991, elle reçoit la National Medal of Technology. Et son histoire prend fin le 1er janvier 1992.

Grace Hoper a créé le premier compilateur

“I had a running compiler and nobody would touch it. They told me computers could only do arithmetic.” (J’avais un compilateur fonctionnel et personne n’y croyait. On me disait que les ordinateurs ne savaient faire que des calculs.)

L’informatique à l’époque, c’était avant tout des machines à calculer. On était encore dans l’héritage de Babbage et des programmes imaginés par Ada Lovelace. Alors pourquoi la marine avait des ordinateurs en 1950 ? Principalement pour trois usages. Le premier c’est le chiffrement des communications. Vous pouvez retrouver l’histoire d’Alan Turing et d’Enigma sur ce sujet. Le deuxième c’est la navigation, qui demandait à l’époque beaucoup de calculs. Et le dernier, c’était bien sûr la balistique. Les artilleurs utilisaient des abaques et avaient besoin de prendre en compte la gravité, la résistance de l’air, le vent ou la force de Coriolis. Et les ordinateurs auquel Grace Hopper avait accès était des calculatrices améliorées. Ils écrivaient les programmes en assembleur avec des instructions obscures comme « MOV AX, [0x1A3B] ». Les informaticiens et les informaticiennes faisaient principalement des programmes qui reproduisaient des séries de calculs complexes.

Grace Hopper a écrit en 1952, l’A-0 System, souvent reconnu comme le premier compilateur. C’était avant tout un programme qui traduisait des instructions proches de l’Anglais en langage machine, rendant la programmation plus intuitive et plus accessible.

Pourquoi Grace Hopper aurait adoré Github Copilot ou Cursor

Les gens étaient sceptiques parce que cela rajoutait une étape dans la production du programme. Mais Grace Hopper était convaincue que la lisibilité du programme allait améliorer la productivité et surtout permettre de faire plus d’automatisation. Les ordinateurs ne sont pas des calculatrices, ce sont des automates qui doivent nous aider à décider. Et le code doit pouvoir être écrit par le plus grand nombre. Il doit être proche de l’anglais pour que ce ne soit pas que des scientifiques ou des mathématiciens qui l’écrivent.

“I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code.” (“J’ai décidé que les analystes de données devraient pouvoir écrire leurs programmes en anglais, et que les ordinateurs les traduiraient en code machine.”) – Grace Hopper 1980

Alors oui, elle aurait adoré Cursor et Github Copilot, parce que ces outils rendent la production de logiciel accessible au plus grand nombre. Si son rêve était de créer le chemin le plus court entre l’ordinateur et celui qui en a besoin, elle aurait adoré ChatGPT ou Gemini.

Elle est la Grand-mère du Cobol

En 1955, elle développe Flow-Matic (qui s’appelait B-0 au début, une incrémentation du premier compilateur). C’est un langage qu’elle décrit comme « orienté métier ».
Et il ressemble terriblement au COBOL.

INPUT INVENTORY FILE A  
COMPARE PART NUMBER A WITH B  
PRINT DIFFERENCE A

C’est un langage déclaratif qui va donner naissance au COBOL en 1959. Hopper y a contribué et a écrit des spécifications. Dans les contributeurs du COBOL on trouve notamment Jean Sammet, Howard Bromberg, William Selden et Gertrude Tierney qui formaient le CODASYL, mandaté par le « DoD », le Department of Defense pour concevoir un langage de programmation métier universel. Et c’est ce qu’ils ont fait. Celui-ci devait être lisible par des non-spécialistes donc proche de l’anglais. Et il fut adopté massivement par les administrations. Aujourd’hui encore il est toujours utilisé pour les transactions financières dans le monde entier.

Grace Hopper était sûrement la première startupeuse

“It’s easier to ask forgiveness than it is to get permission.” (Il est plus facile de demander pardon que de demander la permission.) – Grace Hopper

Cette phrase vous rappelle quelque chose ? Moi, elle me fait penser aux 50 punchlines que la startup nation peut sortir. « Move fast and break things » de Mark Zuckerberg par exemple. Pour faire cette carrière, elle a dû maitriser les codes stricts de l’armée, et les challenger avec justesse. Et si elle a eu cet impact, c’est parce qu’elle a emmené des équipes à adopter cette attitude.

Laissez-moi expliquer : je pense qu’elle était même en avance sur la notion de DevOps. Ce que Zuckerberg avançait avec sa doctrine c’était l’autonomie d’un dev à aller amener ses idées en production rapidement. Et cela impliquait la nécessité d’adopter un tooling DevOps avant que cela existe : monorepo, CI/CD etc…

“A ship in port is safe, but that’s not what ships are built for.” (Un navire est en sécurité au port, mais ce n’est pas pour cela qu’il a été construit.) – Grace Hopper

Grace Hopper est dans un monde antérieur à celui de Zuckerberg mais c’est bien cette même idée qui l’anime. Elle ne veut pas que ses équipes soient des scientifiques de laboratoire. Elle les veut sur le terrain. Les idées, les plans, les projets doivent être confrontés à la réalité le plus vite possible. L’histoire de Grace Hopper est ponctuée de moment où elle a mené des équipes, des équipages à challenger le statu quo.

Et oui, cette citation pourrait être attribuée au Capitaine Picard de l’USS Enterprise.

Elle était reconnue comme une éducatrice pragmatique et visionnaire.

Le défi que relève Grace Hopper n’est pas que celui d’être une femme scientifique. C’est une scientifique dans un monde militaire. Elle a besoin d’expliquer sa vision de l’informatique à des non-scientifiques. Ce sont en particulier des personnes très opérationnelles, même à un niveau stratégique, et pour qui l’informatique est encore très abstrait.

« I keep these nanoseconds in my pocket so everyone will understand why I don’t want to waste time. »

Une histoire illustre ce propos, c’est celle du fil de nanoseconde. Pour expliquer ce que représente une nanoseconde, elle avait l’habitude de présenter un fil de 30 cm. C’est en même temps court, et en même temps long. C’est la distance que parcouru par la vitesse de la lumière en une nanoseconde.

Alors quand un Amiral demande pourquoi l’informatique dans un navire de guerre est important, cette analogie est frappante. Une nanoseconde pour échanger des informations dans une flotte, c’est une éternité. Une nanoseconde pour un ordre de tir sur une batterie d’artillerie, c’est gigantesque par rapport au temps que va prendre la course du projectile. Un code mal optimisé, ce sont des nanosecondes qui vont impacter le système tout entier.

Ces analogies simples lui permettaient d’impliquer ses interlocuteurs dans des sujets scientifiques complexes. Cela lui a donné une forme de leadership. Elle s’en est servie pour faire adopter ses idées. Ça lui a permis d’embarquer une institution hiérarchique comme la marine. Son autorité devient naturelle quand elle est capable de traduire des concepts scientifiques en décisions stratégiques. Et ça lui permet d’influencer les décideurs non-techniques.

Et c’est très aligné avec sa vision de l’informatique et des langages de programmation. Il faut rendre accessible ces concepts avancés aux non-initiés.

Un rôle modèle tellement pertinent qu’il inspirerait des masculinistes

Dans mon précédent portrait, j’avais travaillé sur Ada Lovelace : pionnière de l’informatique et icône contestée. En effet, j’avais pris le temps de critiquer la pertinence de cette icône en tant que rôle modèle. Par la suite, j’espérais que Grace Hopper serait un modèle plus accessible.

En réalité, je la trouve plus accessible à certains égards. Tout d’abord, développer la curiosité et l’attrait pour les sciences chez un enfant, peu importe son genre, est à la portée de beaucoup de monde. Néanmoins, c’est plus facile quand on a soi-même fait des études scientifiques. Par ailleurs, il est plus facile d’aller à Yale pour certains que pour d’autres.

Ce qui m’a particulièrement frappé en réalisant ce portrait, c’est que moi-même, je la trouve inspirante. En premier lieu, le fait d’utiliser des analogies pour faire progresser des concepts techniques est quelque chose que je fais beaucoup (parfois, je passe un peu à côté). De plus, j’adore le fait de remettre en question le statu quo quand c’est nécessaire, de créer la rupture quand c’est pertinent. Tout en étant capable d’adopter les codes des organisations que l’on essaie de changer.

En outre, il y a des punchlines très « startup nation ». Elle pourrait donner un peu d' »énergie masculine » à Mark Zuckerberg. En conclusion, si c’est un bon modèle pour les Tech Bros, c’est sûrement un modèle universel.

Mark Zuckerberg, un retour au virilisme sans modération ! | France Culture

« J’avais une IA fonctionnelle et les gens l’utilisaient pour écrire des posts Linkedin » – Not Grace Hopper

Pour finir, rendre le code, la programmation accessible à tous est complètement ancré dans le personnage. Et c’est rafraichissant de se rappeler que ce n’est pas quelque chose de nouveau. Alors peut-être que coder deviendra une commodité plus tard. L’objet c’est de démocratiser le fait de programmer les ordinateurs, de leur faire faire des choses. La forme finale de cette vision n’est peut-être même pas du code. C’est peut-être une IA Générative comme Le Chat ou ChatGPT. C’est peut-être une IA ambiante.
Et ceux qui refusent d’utiliser l’IA aujourd’hui sont peut-être comme ceux qui ont ignoré le compilateur qu’à présenté Grace Hopper.
Damien Cavaillès

Auteur Damien Cavaillès

Plus d'articles par Damien Cavaillès

Laisser un commentaire