URL: https://linuxfr.org/news/hommage-a-frances-allen Title: Hommage à Frances Allen Authors: Ysabeau Davy Defaud, palm123, ZeroHeure, Benoît Sibaud, Xavier Teyssier et Nils Ratusznik Date: 2020-08-18T18:52:14+02:00 License: CC By-SA Tags: biographie, compilation, histoire et frances_allen Score: 81 Frances Allen est la première informaticienne à avoir reçu en 2006, la plus haute récompense en informatique, le prix Turing, pour ses travaux sur l’optimisation des compilateurs. Elle vient de décéder, le jour de son anniversaire, à 88 ans. Frances Allen a conçu et écrit des compilateurs indépendants des machines et des langages rendant ainsi possible la création des compilateurs optimisés modernes. Le secteur entier de l’informatique lui doit énormément. Toute sa longue carrière, 45 ans, s’est exclusivement déroulée chez IBM ou elle est entrée le 15 juillet 1957 pour prendre sa retraite en 2002. Avec elle, c’est un pan important de l’histoire de l’informatique qui disparaît. Plutôt qu’une banale nécrologie qui va, forcément, faire un peu plagiat, la forme d’une interview imaginaire, donne l’occasion d’aborder l’histoire de l’informatique et des thèmes qui lui étaient chers, principalement la place des femmes en informatique, sujet qu’elle a abondamment abordé dans un discours après la remise de son prix Turing. ---- [Notice Wikipédia en français](https://fr.wikipedia.org/wiki/Frances_Allen) [L’informaticienne Frances Allen, connue pour ses travaux sur la compilation, décède à 88 ans](https://www.fr24news.com/fr/a/2020/08/linformaticienne-frances-allen-connue-pour-ses-travaux-sur-la-compilation-decede-a-88-ans.html) [Frances Allen, pionnière de l’informatique, est morte](https://www.lemonde.fr/disparitions/article/2020/08/10/frances-allen-pionniere-de-l-informatique-est-morte_6048608_3382.html) [Notice Wikipédia en anglais](https://en.wikipedia.org/wiki/Frances_Allen) [Notice Britannica](https://www.britannica.com/biography/Frances-E-Allen) [IBM Fellow Frances Allen ](https://www.ibm.com/blogs/research/2020/08/remembering-frances-allen/) [Oral-History: Frances Allen](https://ethw.org/Oral-History:Frances_%22Fran%22_Allen) ---- # Avant IBM **Quel était votre environnement familial ?** Je suis née le 4 août 1932 à Peru dans l’État de New York et j’ai grandi dans la ferme de mon père qui était agriculteur, ma mère était institutrice. Je suis l’ainée de six enfants, deux filles et quatre garçons. L’un de mes frères a repris la ferme qui est toujours dans la famille. Je suis la seule de la famille à m’être tournée vers le domaine scientifique et technique. La ferme n’avait ni eau courante, ni électricité, mais ce n’était pas si rare à l’époque. **Aviez‑vous une prédisposition pour les matières scientifiques ?** Prédisposition, je ne sais pas, mais j’ai toujours aimé les matières scientifiques et les maths. Bien que je pense que mon tout premier intérêt a été la langue et l’écriture. **Quelles études avez‑vous faites ?** Je me suis orientée vers les mathématiques. Tout d’abord à l’université d’Albany, dont je suis sortie diplômée en 1954. J’ai ensuite obtenu, en 1957, un master en sciences. Mais, entre les deux, j’ai commencé à enseigner les mathématiques dans ma ville natale, à Peru. **Pourquoi avez‑vous arrêté l’enseignement ? Cela ne vous plaisait pas ?** Oh si, beaucoup. J’ai adoré enseigner et pas uniquement les maths. D’ailleurs, par la suite, au cours de ma carrière chez IBM j’ai pris des années sabbatiques : en 1970-1971 d’abord, en 1977 ensuite, pour enseigner en tant qu’_adjunct professor_[^1] à l’université de New York puis à celle de Stanford. Le problème, c’est qu’il fallait un master en sciences, que je n’avais pas, pour être titularisée. Donc je devais poursuivre mes études. J’ai enseigné deux ans, puis je suis allée parfaire mes études à l’université du Michigan. C’était l’une des premières qui enseignait l’informatique, et j’ai donc aussi suivi les cours dans cette matière et j’ai eu mon master, c’était en 1957. Il se trouve qu’à l’époque IBM recrutait des gens sur les campus. Il avait même fait une brochure « *My Fair Lady* » invitant les femmes à les rejoindre, je ne me souviens pas avoir vu passer ce document, mais il est fort probable que j’ai été recrutée dans le cadre de cette campagne. C’était une époque de forte extension pour IBM et il avait besoin de beaucoup de monde. J’ai passé un entretien, et j’ai été embauchée. J’ai commencé à travailler chez IBM le 15 juillet 1957. Au départ, j’avais l’intention de n’y rester que le temps de rembourser les emprunts que j’avais contractés pour mes études, puis de reprendre l’enseignement. J’y suis restée, tout le reste de ma carrière professionnelle, 1957-2002, 45 ans. # Les débuts chez IBM, un peu d’histoire de l’informatique **Comment avez‑vous commencé chez IBM ?** J’ai commencé comme professeur ! Une toute nouvelle version du langage Fortran venait de sortir, en avril 1957. L’idée était que les équipes de recherche scientifique laissent tomber le langage assembleur et migrent vers le nouveau Fortran, et, comme j’avais enseigné, on m’a demandé de leur apprendre le langage. Le Fortran est un langage fabuleux. C’est un langage tout à fait performant pour programmer, et, notamment, pour faciliter et rendre plus efficace la programmation informatique elle‑même. Mais, il a été difficile d’arriver à en convaincre les chercheurs, qui, dans l’ensemble, n’étaient pas enchantés d’apprendre ce langage. Cela a changé par la suite et il est encore largement utilisé chez les scientifiques. **Sur quel ordinateur travailliez‑vous à votre arrivée ?** Le tout premier ordinateur que j’ai utilisé était l’[IBM 650](https://fr.wikipedia.org/wiki/IBM_650), qui a été commercialisé de 1954 à 1962. Il avait une mémoire à tambour rotatif pour stocker les données et les instructions. C’était une grosse machine encombrante et lourde qui avait une capacité de 1 000 à 2 000 *mots*. Un mot étant, à l’époque une donnée de mesure constituée de dix chiffres et d’un signe algébrique[^2]. Il était composé de deux gros blocs sur roues de même taille (à peu près de la hauteur et de la longueur d’un homme ou d’une femme de taille moyenne), l’alimentation et la console. Celle‑ci sans écran ni clavier d’aucune sorte, mais avec un plateau sur lequel on posait les manuels dont on avait besoin pour utiliser la machine. On manipulait les boutons du panneau de la console pour travailler. Il y avait un troisième bloc moins haut pour la lecture des cartes perforées. L’ensemble formait l’ordinateur au complet. **Comment se faisait l’écriture d’un programme à l’époque ?** On utilisait des feuilles de codage. C’était du papier imprimé de lignes, chaque ligne étant convertie en carte perforée, rangée ensuite très soigneusement dans des boîtes avec les autres cartes composant l’ensemble du programme. La longueur des lignes dépendait du programme, par exemple pour le Fortran elles étaient de 72 caractères maximum. Une fois le programme écrit sur le papier, on donnait les feuilles à des opératrices spécialisées, c’était un secteur très féminisé, qui perforaient les cartes. Les cartes étaient vérifiées par d’autres opératrices. On entrait ensuite le programme dans le lecteur de carte, et on utilisait la console pour travailler avec l’ordinateur. Les cartes perforées ont été utilisées jusqu’aux débuts des années 1980. Juste avant que les ordinateurs personnels (PC), ne commencent à envahir tous les bureaux. En fait, la carte perforée, en elle‑même, n’est pas une invention liée à l’informatique. Il me semble que la première fois que l’on a utilisé une carte perforée pour automatiser une tâche c’était au début du 18^(e) siècle, avec l’invention du métier à tisser [Jacquard](https://fr.wikipedia.org/wiki/M%C3%A9tier_Jacquard) qui utilisait ce genre de carte pour former les motifs des tissus. **Après l’enseignement du Fortran sur quel programme avez‑vous travaillé ?** En 1959, j’ai été affectée au projet [Harvest (en)](https://en.wikipedia.org/wiki/IBM_7950_Harvest). C’était une commande de la NSA (United States National Security Agency). Je travaillais sur un langage de programmation appelé *Alpha*. C’était, déjà, un langage de haut niveau. # Le travail sur la compilation **Vous êtes connue comme une des pionnières de la compilation. Comment êtes‑vous tombée dedans ?** Alors, la vraie pionnière, celle qui a vraiment conçu le premier compilateur, c’était [Grace Hopper](https://fr.wikipedia.org/wiki/Grace_Hopper), en 1951. Elle est aussi à l’origine du [[COBOL]]. Elle défendait l’idée d’un langage plus près du langage humain. Elle a commencé à travailler chez IBM la même année que moi, en 1957. Pour en revenir à la question, je travaillais en même temps pour le projet Harvest et pour le projet _[Stretch](https://fr.wikipedia.org/wiki/IBM_Stretch)_. On a appelé cela le programme MAD (_Monitored Automatic Debugging_)[^3]. Ce que j’avais à faire, c’était d’étudier le programme d’assemblage pour en modifier le format et, par contrecoup, de me familiariser avec son fonctionnement. Au bout du compte, je l’ai entièrement modifié. C’était un programme qui avait été développé par [Roy Nutt (en)](https://en.wikipedia.org/wiki/Roy_Nutt) avec qui j’avais gardé des contacts jusqu’à la fin. L’ordinateur Stretch était une machine un peu plus « compacte » que l’IBM 650 et sa console était plus grande. L’idée était de faire une machine extraordinaire aux performances informatiques extraordinaires, donc avec un compilateur extraordinaire. J’ai fait partie de l’équipe qui travaillait sur la compilation. Et c’est comme ça que j’ai fait mes premiers pas en compilation. **Comment définiriez‑vous le travail d’un compilateur ?** *Je pense qu’un compilateur est une application qui fait le lien entre la personne qui utilise l’application, par exemple pour obtenir des prédictions météorologiques, et la machine de façon à obtenir la bonne réponse (cela, généralement en utilisant un langage de haut niveau, le Fortran par exemple) tout en utilisant au mieux les ressources de la machine. C’est là que réside l’optimisation. On pourrait se contenter de mettre en correspondance les différents éléments et ne pas utiliser les registres et beaucoup d’autres unités de calcul, mais ce ne serait pas aussi efficace. L’optimisation consiste donc à tirer parti des ressources de la machine et à très, très bien la connaître. Il faut donc combler cette lacune pour que l’utilisateur n’ait pas à tout connaître lui‑même.*[^4] **Vous avez réussi à imposer un langage de haut niveau pour les programmes de compilation est‑ce que cela a été facile ?** Houla, non. Au début, tout le monde était très dubitatif sur les capacités d’un langage de haut niveau comme le Fortran à écrire des programmes de compilation. En fait, on pensait généralement qu’un langage de haut niveau ne pouvait pas écrire du bon code. Finalement, j’ai réussi à montrer que c’était faux avec Fortran. En fait, je crois bien que personne ne pensait que je serais capable de le faire. **Aujourd’hui que diriez‑vous des compilateurs ?**[^5] *Il y a encore beaucoup de discussions actuelles sur « l’importance de l’optimisation des machines puisqu’elles sont devenues très rapides ». Je ne suis absolument pas d’accord avec ce point de vue. Je pense qu’actuellement nous nous trompons de problèmes : nous nous concentrons toujours sur la résolution de certains des mêmes problèmes sur lesquels nous travaillions à l’époque. Et les goulots d’étranglement causés par lesdits problèmes se sont déportés vers la mémoire et déplacent les données pour qu’elles soient prêtes au moment du calcul. Mais, de la sorte, nous ne faisons pas du tout un bon travail avec les compilateurs.* Nous sommes arrivés à un tournant en informatique avec des changements à venir. *Je pense que nous sommes arrivés dans le creux de la vague pour les compilateurs. Tous les secteurs ont des hauts et des bas. En général, les hauts interviennent lorsque l’on a fait une belle percée ou que l’on modifie les problèmes sur lesquels on travaille ou la vision qu’on en a. Et je pense qu’il ne fait aucun doute que nous avons besoin d’un grand changement maintenant.*[^6] # Les femmes dans l’informatique **On voit souvent des femmes sur les photos de centres informatiques des années 1950 – 1960, est‑ce que cela correspondait à la réalité ?** Oui, quand je suis entrée chez IBM, ainsi que je l’ai déjà dit, la firme avait une politique de recrutement ciblée sur les femmes. J’étais donc loin d’être la seule. Dans l’équipe du projet Stretch, par exemple, il y avait beaucoup de femmes. Sur les quatre cadres qui pilotaient le projet au niveau du compilateur, trois étaient des femmes. Mais, de mon point de vue, l’informatique n’existait pas encore. C’était une époque pré‑informatique et nous travaillions sur des machines plutôt primitives. **Quand les femmes ont‑elles commencé à disparaître du secteur ?** Je ne m’en suis pas rendu compte tout de suite, mais peut‑être dès la fin des années 1960. Il n’y avait pas de femme par exemple dans le projet [IBM 360](https://fr.wikipedia.org/wiki/IBM_360_et_370). Dans la période qui a suivi, j’ai donc accompli deux années sabbatiques en tant que professeur à l’université de New York et à Standford. J’ai embauché beaucoup de jeunes, et pendant dix ou quinze ans nous avons surtout beaucoup écrit sur les technologies de compilation. Après cette période, au début des années 1980, je me suis aperçue que toutes ces femmes avaient disparu ! **À quoi attribuez‑vous ce changement ?** Il m’a fallu beaucoup de temps pour le comprendre. Mais je pense que l’une des raisons est que, dans la période pré‑informatique, donc à peu près jusqu’au début de la décennie 1960, on recrutait des personnes brillantes, enthousiastes et qui avaient de bonnes notes, mais pas sur la base de diplômes précis. Vers le milieu des années 1960, l’informatique est devenue une science à part entière, et avec cela des prérequis en matière professionnelle et donc des formations spécifiques. Et les écoles d’ingénieurs s’en sont emparées ; elles étaient, à l’époque, presque essentiellement masculines. Et donc, au début des années 1970, il y a eu ce changement crucial qui a fait quasiment disparaître les femmes de l’informatique. **Vous êtes impliquée dans le projet [Anita Borg](https://fr.wikipedia.org/wiki/Anita_Borg), comment cela s’est‑il fait ?** Anita a été une de mes étudiantes en compilation à New York, et nous sommes restées en contact après ses études. Un soir que j’étais restée à travailler tard, j’étais d’humeur plutôt morose, un coup de fil d’Anita. Elle me demande « que penses‑tu de 50/50 en 2020 ? ». Sur le moment, j’ai répondu que ce n’était pas possible. Mais, après j’ai commencé à réfléchir à ce projet, et je me suis dit que, oui, pourquoi pas. Alors je l’ai rappelée pour le lui dire. Et Anita a lancé le projet. En 2003, après son décès, l’[institut](https://fr.wikipedia.org/wiki/Institut_Anita_Borg) qu’elle avait fondé pour promouvoir les femmes dans les divers domaines de la technologie, a été rebaptisé Institut Anita Borg à sa mémoire. Je pense qu’il est important que les femmes, ainsi que les diverses minorités, soient aussi présentes en informatique, à tous les niveaux. Et je pense que cet objectif d’une parité est atteignable. # Ressources complémentaires Pour rédiger cette dépêche, qui a nécessité pas moins de quatre litres de thé vert, outre les liens in‑texte et ceux indiqués dans les _liens_, j’ai lu, regardé, écouté ou feuilleté les ressources suivantes. ## Témoignages oraux En 2001, France Allen a été interrogée par Janet Abbate pour le centre historique l’IEEE, cette [interview (en)](https://ethw.org/Oral-History:Frances_%22Fran%22_Allen) qui m’a beaucoup servi est très souvent citée dans les biographies de l’informaticienne. _[Fran Allen, 2006 recipient of the ACM Turing Award](https://www.youtube.com/watch?v=oilK7mXVwl8)_, vidéo YouTube sous‑titrée en anglais d’un discours dans lequel elle dit ce que représente pour elle le fait d’avoir reçu ce prix. Cette vidéo m’a également beaucoup servi. Durée : 52 minutes. [Intervention de Frances Allen en 2006, _Association for Computing Machinery_ (vidéo en anglais)](https://amturing.acm.org/vp/allen_1012327.cfm). Durée : une heure. ## Prix Turing [Notice Wikipédia](https://fr.wikipedia.org/wiki/Prix_Turing). La [notice du site du prix Turing sur Frances Allen^(en)](https://amturing.acm.org/award_winners/allen_1012327.cfm). Le PDF _[First Woman to Receive ACM Turing Award](https://awards.acm.org/binaries/content/assets/press-releases/2006/2006-turing-award-laureate.pdf)_, sur la délivrance du prix Turing à Frances Allen, document en anglais. [Et une, et deux, et trois femmes Prix Turing !](https://www.lemonde.fr/blog/binaire/2015/03/09/et-un-et-deux-et-trois-femmes-prix-turing/) ## Préhistoire de l’informatique Les [cartes perforées](https://fr.wikipedia.org/wiki/Carte_perfor%C3%A9e). _[Programming with Punched Cards - Columbia University](http://www.columbia.edu/cu/computinghistory/fisk.pdf)_, document PDF en anglais qui raconte comment on programmait avec des cartes perforées, très intéressant. Le manuel de l’[IBM 650](http://bitsavers.trailing-edge.com/pdf/ibm/650/), un document PDF en anglais. Il y a une foultitude de PDF à télécharger, incluant un manuel de Fortran. Dans le cadre de cette dépêche, je me suis contentée de jeter un coup d’œil sur le premier manuel (installation), le manuel d’instruction et celui d’utilisation des cartes perforées. ## Langages Notice Wikipédia sur le [Fortran](https://fr.wikipedia.org/wiki/Fortran). Si les notions de langage de bas ou de haut niveau ne vous sont pas familières (elles ne l’étaient pas en ce qui me concerne jusqu’à présent), je vous suggère la lecture des pages consacrées à ces notions par Wikipédia. Néanmoins, dans leur nom, « niveau » fait référence au niveau d’abstraction. Les langages de programmation de haut niveau étant plus proches du langage naturel que ceux de bas niveau, et ils sont portables d’une machine à une autre (abstraction). Ils sont plus utilisés que les langages de bas niveau (les idées de Grace Hopper et de Frances Allen ont fini par l’emporter) : - [Langage de programmation de haut niveau](https://fr.wikipedia.org/wiki/Langage_de_programmation_de_haut_niveau) ; - [Langage de programmation de bas niveau](https://fr.wikipedia.org/wiki/Langage_de_programmation_de_bas_niveau). ## Musées Frances Allen, dans son entretien avec Janet Abbate évoque le [Musée de l’histoire de l’ordinateur](https://fr.wikipedia.org/wiki/Mus%C3%A9e_de_l%27histoire_de_l%27ordinateur), américain : le [Computer History Museum](https://computerhistory.org/) (lien en anglais). Pour les Franciliens ou celles et ceux qui viennent à Paris je suggère fortement le [Musée des arts et métiers] (https://fr.wikipedia.org/wiki/Mus%C3%A9e_des_arts_et_m%C3%A9tiers). C’est un [musée](https://www.arts-et-metiers.net/) absolument fabuleux dans un très beau cadre qui vaut vraiment la peine d’être visité. Vous y ferez la connaissance du robot HILARE, vous pourrez passer dans un ordinateur Cray (essayez de faire ça avec un ordinateur portable…). ## Les femmes et l’informatique Parce que c’est un sujet dans lequel Frances Allen s’est beaucoup impliquée, j’en ai profité pour voir ce qui se passait en France. Pour les 50‑50 en 2020, on verra dans l’article de _Challenges_, datant de 2018 que c’était loin d’être gagné. En 2007, et aux États‑Unis, Frances Allen était, quant à elle, optimiste. [Pourquoi il n’y a pas assez de femmes ingénieures en France](https://www.challenges.fr/femmes/pourquoi-il-n-y-a-pas-assez-de-femmes-ingenieures-en-france_590098) J’ai aussi lu ces quelques journaux et dépêches linuxfriennes, de 2008 à 2019. À vous de voir, à la lecture des commentaires notamment (certains m’ont bien fait rire, d’autres… moins) si la situation a évolué : - [2 % de femmes dans le développement de logiciel libre — 10 propositions pour y remédier (dépêche 2008)](https://linuxfr.org/news/2-de-femmes-dans-le-developpement-de-logiciel-libre-10-propos) ; - [Les femmes dans l’informatique (dépêche 2014)](https://linuxfr.org/news/les-femmes-dans-l-informatique) ; - [Sexisme ordinaire sur LinuxFr (journal 2015)](https://linuxfr.org/users/ariasuni/journaux/sexisme-ordinaire-sur-linuxfr) ; - [Pourquoi les femmes ont déserté l’informatique dans les années 1980 (journal 2019)](https://linuxfr.org/users/maderios--2/journaux/pourquoi-les-femmes-ont-deserte-l-informatique-dans-les-annees-1980). [^1]: En français, l’équivalent serait « professeur contractuel », un enseignant dont le poste fait l’objet d’un contrat ponctuel et renouvelé au coup par coup. Aux États-Unis, ce type d’enseignant est souvent moins payé que les titulaires et ils ne bénéficient pas des avantages sociaux tels qu’assurance maladie. https://en.wikipedia.org/wiki/Adjunct_professor [^2]: Définition du manuel de l’[IBM 605](http://bitsavers.trailing-edge.com/pdf/ibm/650/) : « a *word* consists of ten digits and an algebraic sign. » [^3]: Programme de débogage automatique, et, évidemment MAD, en anglais, signifie « fou ». [^4]: Traduction du [paragraphe (en)](https://ethw.org/Oral-History:Frances_%22Fran%22_Allen#On_the_Status_of_Compilers_Today) de l’entretien que Frances Allen a donné le 2 août 2001 à Janet Abate et où elle donne sa définition de la compilation. [^5]: Les deux paragraphes en italiques suivants sont une adaptation de l’entretien de Frances Allen avec Janet Abate. Dans l’entretien, ces deux paragraphes sont suivis de « rires ». [^6]: En 2007, lors de son discours sur son prix Turing, Frances Allen disait en substance la même chose sur les compilateurs.