Kathleen Hylda Valerie Britten est née dans le Worcestershire, en Angleterre, le 9 juillet 1922. Pendant la Seconde Guerre mondiale, elle a étudié à Royal Holloway, Université de Londres, où elle a obtenu un BSc (Bachelor of Science) en mathématiques en 1944. Après avoir obtenu son diplôme, elle est devenue une junior responsable scientifique au Royal Aircraft Establishment, un organisme de recherche à Farnborough. Deux ans plus tard, elle a déménagé au Birkbeck College, d'abord comme assistante de recherche, puis comme chargée de cours puis comme chercheuse.
Elle a également travaillé à la British Rubber Producers' Research Association (BRPRA), où elle a rencontré et travaillé avec le mathématicien et physicien Andrew Donald Booth, qui est devenu plus tard son mari. Après avoir étudié avec le cristallographe aux rayons X, le professeur JD Bernal - inventeur de la sphère de Bernal - A D Booth travaillait sur des structures cristallines à l'aide de données de diffraction des rayons X et trouvait les calculs manuels très fastidieux*; il a construit un ordinateur analogique pour automatiser une partie de cela.
En 1946, Britten et Booth ont collaboré à Birkbeck sur un tout premier ordinateur numérique, le calculateur de relais automatique (ARC), et ont ainsi fondé ce qui est aujourd'hui le département d'informatique et de systèmes d'information de Birkbeck.
L'ARC a été construit à Welwyn Garden City, à proximité du siège de la BRPRA. A D Booth l'a conçu, mais Kathleen Britten et sa collègue assistante de recherche Xenia Sweeting ont construit le matériel. Bernal a obtenu un financement de la Fondation Rockefeller pour que Booth et Britten visitent l'Institute of Advanced Study de Princeton, où Booth a rapporté que seul l'ami de Bernal, John von Neumann, leur avait donné du temps. Von Neumann a expliqué son concept de ce qu'on appelle maintenant l'architecture informatique de von Neumann.
Booth et Britten sont retournés au Royaume-Uni et ont repensé leur calculatrice en fonction de ces idées, ce qui a conduit à l'ARC2 et, ce faisant, à inventer la première mémoire de batterie pour fournir suffisamment de stockage pour contenir à la fois les informations et les données du programme. Construire l'ARC2 à partir de relais s'est avéré trop compliqué, c'est pourquoi en 1948, Booth et Britten sont passés à l'ordinateur électronique simple (SEC), puis à l'ordinateur à rayons X électronique polyvalent ou APE (X) C. Vous pouvez essayer l'APE(X)C dans l'émulateur MESS.
La conception APE (X) C a été commercialisée et vendue sous le nom de HEC par la British Tabulating Machine Co Ltd, qui est finalement devenue ICL. Ci-dessous, une vidéo sur le HEC1.
En 1950, Kathleen et Andrew se sont mariés, la même année où elle a obtenu un doctorat en mathématiques appliquées, toujours à l'Université de Londres. Pour obtenir un financement supplémentaire pour leur travail, les Booth se sont à nouveau adressés à la Fondation Rockefeller, qui l'a fourni à condition que l'APE (C) X travaille avec les langages humains ainsi que les mathématiques uniquement. Le résultat fut une démonstration de traduction automatique en novembre 1955.
En plus de construire le matériel des premières machines, elle a écrit tous les logiciels des machines ARC2 et SEC, inventant ainsi ce qu'elle a appelé la Notation Contractuelle. Ce langage, à travers l'évolution et les contributions d'autres, est aujourd'hui connu sous le nom de langage d'assemblage (ou langage assembleur). Elle discute également du fonctionnement synchrone par rapport au fonctionnement asynchrone. Son livre de 1958, Programming for an Automatic Digital Calculator, a été l'un des premiers sur la programmation écrit par une femme. La même année, elle a commencé à travailler avec les réseaux de neurones, également le sujet de son dernier article, Utiliser des réseaux de neurones pour identifier les mammifères marins, co-écrit avec son fils le Dr Ian JM Booth et publié en 1993.
La famille Booth a déménagé au Canada au début des années 1960, où Kathleen et Andrew ont continué à travailler dans le milieu universitaire; elle a pris sa retraite à la fin des années 1970.
Kathleen Booth est décédée le 29 septembre 2022 et laisse dans le deuil une fille ainsi que son fils.
Assembleur
Un langage d'assemblage ou langage assembleur est un langage bas niveau qui représente le langage machine sous une forme lisible par un humain. Les combinaisons de bits du langage machine sont représentées par des symboles dits « mnémoniques », c'est-à-dire faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine, ainsi que les valeurs (écrites en décimal) en binaire et les libellés d'emplacements en adresses, en vue de créer par exemple un fichier objet ou un fichier exécutable.
Dans la pratique courante, le même terme assembleur est utilisé à la fois pour désigner le langage d'assemblage et le programme assembleur qui le traduit. On parle ainsi de « programmation en assembleur ».
Les langages d'assemblages ont éliminé une grande partie des erreurs commises par les programmeurs de la première génération d'ordinateurs, en les dispensant de mémoriser les codes numériques des instructions et de faire des calculs d'adresses. La programmation en assembleur était alors utilisée pour écrire toutes sortes de programmes.
Au sujet de ce langage, Chrtophe notait par exemple que :
Envoyé par Chrtophe
Quelques instructions de base
Chaque instruction assembleur a une équivalence binaire direct. Le processeur peut ainsi comprendre ces instructions.
Voici quelques exemples d'instructions de base pour le processeur Intel 8086 :
- MOV destination source : déplace une valeur fixe ou celle d'un registre dans un autre,
- INC registre : additionne 1 à la valeur d'un registre,
- NEG registre : change le signe de la valeur stockée dans un registre,
- IMUL destination source : multiplie les valeurs et stocke le résultat dans le premier registre.
Démonstration de traduction automatique (novembre 1955)
émulateur MESS
Et vous ?
Aviez-vous déjà entendu parler du professeur Kathleen Booth ?
Connaissez-vous le langage assembleur ? L'avez-vous déjà utilisé à des fins d'études, de projets personnels ou professionnels ? Qu'en pensez-vous ?