Grace Hopper

Introduction


Grace Brewster Hopper (née Murray ; 9 décembre 1906 - 1er janvier 1992) était une informaticienne, mathématicienne et contre-amiral de la marine américaine. Elle fut une pionnière de la programmation informatique. Hopper a été la première à concevoir la théorie des langages de programmation indépendants de la machine, et a utilisé cette théorie pour développer le langage de programmation FLOW-MATIC et COBOL, un des premiers langages de programmation de haut niveau encore utilisé aujourd'hui. Elle a également été l'un des premiers programmeurs de l'ordinateur Harvard Mark I. On lui attribue la rédaction du premier manuel informatique, « A Manual of Operation for the Automatic Sequence Controlled Calculator » (Manuel d'utilisation de la calculatrice à séquence automatique).

Avant de rejoindre la marine, Hopper a obtenu un doctorat en mathématiques et en physique mathématique à l'université de Yale et a été professeur de mathématiques au Vassar College. Elle a quitté son poste à Vassar pour rejoindre les réserves de la marine pendant la Seconde Guerre mondiale. Hopper a commencé sa carrière informatique en 1944 en tant que membre de l'équipe Harvard Mark I, dirigée par Howard H. Aiken. En 1949, elle rejoint la Eckert-Mauchly Computer Corporation et fait partie de l'équipe qui a développé l'ordinateur UNIVAC I. Chez Eckert-Mauchly, elle a dirigé le développement de l'un des premiers compilateurs COBOL.

Elle pensait que la programmation devait être simplifiée grâce à un langage de programmation informatique basé sur l'anglais. Son compilateur convertissait les termes anglais en code machine compris par les ordinateurs. En 1954, Eckert-Mauchly choisit Hopper pour diriger leur département de programmation automatique et elle dirige la publication de certains des premiers langages compilés comme FLOW-MATIC. En 1959, elle a participé au consortium CODASYL, contribuant à la création d'un langage de programmation indépendant des machines appelé langage COBOL, basé sur des mots anglais. Hopper a encouragé l'utilisation de ce langage tout au long des années 60.

Le destroyer à missiles guidés USS Hopper de la classe Arleigh Burke de la marine américaine porte son nom, tout comme le superordinateur Cray XE6 « Hopper » du NERSC et la puce Nvidia Superchip « Grace Hopper ». Au cours de sa vie, Mme Hopper a reçu 40 diplômes honorifiques d'universités du monde entier. Un collège de l'université de Yale a été rebaptisé en son honneur. En 1991, elle a reçu la médaille nationale de la technologie. Le 22 novembre 2016, le président Barack Obama lui a décerné la médaille présidentielle de la liberté à titre posthume.


Jeunesse et éducation


Grace Brewster Murray est née à New York. Elle est l'aînée de trois enfants. Ses parents, Walter Fletcher Murray et Mary Campbell Van Horne, étaient d'origine écossaise et néerlandaise et fréquentaient l'église West End Collegiate. Son arrière-grand-père, Alexander Wilson Russell, amiral de la marine américaine, a participé à la bataille de Mobile Bay pendant la guerre de Sécession.

Grace est très curieuse dès l'enfance ; elle le restera toute sa vie. À l'âge de sept ans, elle décide de déterminer comment fonctionne un réveil et en démonte sept avant que sa mère ne se rende compte de ce qu'elle fait (elle est alors limitée à un seul réveil). Plus tard dans sa vie, elle est connue pour avoir gardé un réveil qui fonctionnait à l'envers, elle explique : « Les humains sont allergiques au changement. Ils adorent dire : « Nous avons toujours fait comme ça ». J'essaie de lutter contre cela. C'est pourquoi j'ai une horloge sur mon mur qui tourne dans le sens inverse des aiguilles d'une montre". Pour ses études préparatoires, elle a fréquenté l'école Hartridge à Plainfield, dans le New Jersey. Grace a d'abord été refusée pour une admission anticipée au Vassar College à l'âge de 16 ans (parce que ses résultats aux tests de latin étaient trop faibles), mais elle a été admise l'année suivante. Elle obtient le diplôme Phi Beta Kappa de Vassar en 1928, avec une licence en mathématiques et en physique, puis un master à l'université de Yale en 1930.

En 1930, Grace Murray épouse Vincent Foster Hopper (1906-1976), professeur à l'université de New York ; ils divorcent en 1945 ; elle ne se remarie pas et conserve le nom de famille de Vincent Foster Hopper.

En 1934, Hopper obtient un doctorat en mathématiques à Yale sous la direction d'Øystein Ore. Sa thèse, intitulée « New Types of Irreducibility Criteria », est publiée la même année. Elle commence à enseigner les mathématiques à Vassar en 1931 et est promue professeur associé en 1941.


Carrière


Seconde Guerre Mondiale


Hopper a tenté de s'engager dans la marine au début de la Seconde Guerre mondiale, mais sa demande a été rejetée. À 34 ans, elle était trop âgée pour s'engager et son rapport poids/taille était trop faible. Elle a également été refusée au motif que son travail de mathématicienne et de professeur de mathématiques au Vassar College était utile à l'effort de guerre. Pendant la guerre, en 1943, Hopper a obtenu un congé de Vassar et a prêté serment dans la réserve de la marine américaine ; elle était l'une des nombreuses femmes qui s'étaient portées volontaires pour servir dans les WAVES.

Elle a dû obtenir une exemption pour entrer dans l'armée, car elle pesait 6,8 kg de moins que le poids minimum de la marine, qui est de 54 kg. Elle s'est présentée en décembre et s'est entraînée à l'école des aspirants de la réserve navale au Smith College de Northampton, dans le Massachusetts. Hopper sort première de sa promotion en 1944 et est affectée au projet de calcul du Bureau of Ships à l'université de Harvard en tant que lieutenant de première classe. Elle fait partie de l'équipe de programmation informatique Mark I dirigée par Howard H. Aiken.

Hopper et Aiken cosignent trois articles sur le Mark I, également connu sous le nom de calculateur à séquence automatique. La demande de Hopper de passer dans la marine régulière à la fin de la guerre a été refusée en raison de son âge avancé de 38 ans. Elle continue à servir dans la réserve navale. Hopper est restée au laboratoire de calcul de Harvard jusqu'en 1949, refusant un poste de professeur à Vassar en faveur d'un poste de chercheur sous contrat de la marine à Harvard.


UNIVAC


En 1949, Hopper est devenu employé de la Eckert-Mauchly Computer Corporation en tant que mathématicien principal et a rejoint l'équipe chargée de développer l'UNIVAC I. Hopper a également occupé le poste de directeur du développement de la programmation automatique de l'UNIVAC pour Remington Rand. L'UNIVAC a été le premier ordinateur électronique à grande échelle connu à être commercialisé en 1950, et il était plus compétitif que le Mark I en matière de traitement de l'information.

Lorsque Hopper a recommandé le développement d'un nouveau langage de programmation qui utiliserait exclusivement des mots anglais, elle « s'est vu répondre très rapidement qu'elle ne pouvait pas le faire parce que les ordinateurs ne comprenaient pas l'anglais ». Elle a néanmoins persisté. « Pour la plupart des gens, il est beaucoup plus facile d'écrire une déclaration en anglais que d'utiliser des symboles », explique-t-elle. « J'ai donc décidé que les processeurs de données devraient pouvoir écrire leurs programmes en anglais et que les ordinateurs les traduiraient en code machine.

Il faut attendre trois ans pour que son idée soit acceptée. Entre-temps, elle a publié son premier article sur le sujet, les compilateurs, en 1952. Au début des années 1950, l'entreprise a été rachetée par la société Remington Rand, et c'est pendant qu'elle travaillait pour cette société qu'elle a réalisé son premier travail sur les compilateurs. Le programme était connu sous le nom de compilateur A et sa première version était A-0.

En 1952, elle disposait d'un chargeur de liens opérationnel, que l'on appelait à l'époque un compilateur. Elle a déclaré plus tard que « personne n'y croyait » et qu'elle « avait un compilateur opérationnel et personne ne voulait y toucher. Ils me disaient que les ordinateurs ne pouvaient faire que de l'arithmétique ».

En 1954, Hopper a été nommée première directrice de la programmation automatique de la société. À partir de 1954, le travail de Hopper est influencé par le système de Laning et Zierler, qui est le premier compilateur à accepter la notation algébrique en entrée. Son département publie certains des premiers langages de programmation basés sur des compilateurs, notamment MATH-MATIC et FLOW-MATIC.

Hopper a déclaré que son compilateur A-0 " traduisait la notation mathématique en code machine. La manipulation de symboles convenait aux mathématiciens, mais elle ne convenait pas aux informaticiens qui n'étaient pas des manipulateurs de symboles. Très peu de personnes sont réellement des manipulateurs de symboles. S'ils le sont, ils deviennent des mathématiciens professionnels, pas des informaticiens. Pour la plupart des gens, il est beaucoup plus facile d'écrire une déclaration en anglais que d'utiliser des symboles. J'ai donc décidé que les informaticiens devaient pouvoir écrire leurs programmes en anglais et que les ordinateurs les traduiraient en code machine. C'est ainsi qu'est né le COBOL, un langage informatique destiné aux processeurs de données. Je pouvais dire « Soustraire l'impôt sur le revenu du salaire » au lieu d'essayer d'écrire cela en code octal ou d'utiliser toutes sortes de symboles. COBOL est le principal langage utilisé aujourd'hui pour le traitement des données."


COBOL


Au printemps 1959, des experts en informatique de l'industrie et du gouvernement se sont réunis lors d'une conférence de deux jours connue sous le nom de Conférence sur les langages de systèmes de données (CODASYL). Hopper a joué le rôle de conseillère technique auprès du comité, et bon nombre de ses anciens employés ont fait partie du comité à court terme qui a défini le nouveau langage COBOL (acronyme de COmmon Business-Oriented Language). Le nouveau langage étendait le langage FLOW-MATIC de Hopper avec quelques idées de l'équivalent IBM, COMTRAN. La conviction de Hopper selon laquelle les programmes devaient être écrits dans un langage proche de l'anglais (plutôt qu'en code machine ou dans des langages proches du code machine, tels que les langages d'assemblage) a été reprise dans le nouveau langage commercial, et le COBOL est devenu le langage commercial le plus répandu à ce jour. Parmi les membres du comité qui a travaillé sur le COBOL figurait Jean E. Sammet, ancienne élève du Mount Holyoke College.

De 1967 à 1977, Hopper a été directrice du groupe des langages de programmation de la marine au sein du bureau de planification des systèmes d'information de la marine et a été promue au grade de capitaine en 1973. Elle a développé un logiciel de validation pour COBOL et son compilateur dans le cadre d'un programme de normalisation de COBOL pour l'ensemble de la marine.


Standards


Dans les années 1970, Hopper a plaidé pour que le ministère de la Défense remplace les grands systèmes centralisés par des réseaux de petits ordinateurs distribués. Tout utilisateur, quel que soit le nœud informatique, pouvait accéder à des bases de données communes situées sur le réseau.  Elle a développé la mise en œuvre de normes pour tester les systèmes et les composants informatiques, en particulier pour les premiers langages de programmation tels que FORTRAN et COBOL. Les tests de conformité de la marine à ces normes ont conduit à une convergence significative entre les dialectes des langages de programmation des principaux fournisseurs d'ordinateurs. Dans les années 1980, ces tests (et leur administration officielle) ont été pris en charge par le National Bureau of Standards (NBS), connu aujourd'hui sous le nom de National Institute of Standards and Technology (NIST).