C'est qui qui a inventé le langage assembleur ?
Historical perspective

Assembly languages were not available at the time when the stored-program computer was introduced. Programs were written in absolute machine code, and loaded into the computer from punched paper tape, or toggled directly into memory from console switches. Kathleen Booth "is credited with inventing assembly language" based on theoretical work she began in 1947, while working on the ARC2 at Birkbeck, University of London following consultation by Andrew Booth (later her husband) with mathematician John von Neumann and physicist Herman Goldstine at the Institute for Advanced Study.

In late 1948, the Electronic Delay Storage Automatic Calculator (EDSAC) had an assembler (named "initial orders") integrated into its bootstrap program. It used one-letter mnemonics developed by David Wheeler, who is credited by the IEEE Computer Society as the creator of the first "assembler". Reports on the EDSAC introduced the term "assembly" for the process of combining fields into an instruction word. SOAP (Symbolic Optimal Assembly Program) was an assembly language for the IBM 650 computer written by Stan Poley in 1955.

Assembly languages eliminate much of the error-prone, tedious, and time-consuming first-generation programming needed with the earliest computers, freeing programmers from tedium such as remembering numeric codes and calculating addresses. They were once widely used for all sorts of programming. However, by the late 1950s, their use had largely been supplanted by higher-level languages, in the search for improved programming productivity. Today, assembly language is still used for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. Typical uses are device drivers, low-level embedded systems, and real-time systems (see § Current usage).

Numerous programs have been written entirely in assembly language. The Burroughs MCP (1961) was the first computer for which an operating system was not developed entirely in assembly language; it was written in Executive Systems Problem Oriented Language (ESPOL), an Algol dialect. Many commercial applications were written in assembly language as well, including a large amount of the IBM mainframe software written by large corporations. COBOL, FORTRAN and some PL/I eventually displaced much of this work, although a number of large organizations retained assembly-language application infrastructures well into the 1990s.

Assembly language has long been the primary development language for 8-bit home computers such as the Apple II, Atari 8-bit computers, MSX, ZX Spectrum, and Commodore 64. Interpreted BASIC dialects on these systems offer insufficient execution speed and insufficient facilities to take full advantage of the available hardware. These systems have severe resource constraints, idiosyncratic memory and display architectures, and provide limited system services. There are also few high-level language compilers suitable for microcomputer use. Similarly, assembly language is the default choice for 8-bit consoles such as the Atari 2600 and Nintendo Entertainment System.

Key software for IBM PC compatibles was written in assembly language, such as MS-DOS, Turbo Pascal, and the Lotus 1-2-3 spreadsheet. As computer speed grew exponentially, assembly language became a tool for speeding up parts of programs, such as the rendering of Doom, rather than a dominant development language. In the 1990s, assembly language was used to get performance out of systems such as the Sega Saturn and as the primary language for arcade hardware based on the TMS34010 integrated CPU/GPU such as Mortal Kombat and NBA Jam.
Perspective historique

Les langages assembleurs n'étaient pas disponibles à l'époque de l'introduction des ordinateurs à programme enregistré. Les programmes étaient écrits en code machine absolu et chargés dans l'ordinateur à partir de bandes perforées ou entrés directement en mémoire à partir d'interrupteurs de console. Kathleen Booth "est reconnue pour avoir inventé le langage assembleur" sur la base de travaux théoriques qu'elle a commencés en 1947, alors qu'elle travaillait sur l'ARC2 à Birkbeck, University of London, suite à une consultation d'Andrew Booth (plus tard son mari) avec le mathématicien John von Neumann et le physicien Herman Goldstine à l'Institute for Advanced Study.

Fin 1948, le calculateur automatique à stockage retardé électronique (EDSAC) disposait d'un assembleur (appelé "initial orders") intégré à son programme d'amorçage. Il utilisait des mnémoniques d'une seule lettre développées par David Wheeler, qui est reconnu par l'IEEE Computer Society comme le créateur du premier "assembleur". Les rapports sur l'EDSAC ont introduit le terme "assemblage" pour désigner le processus de combinaison de champs en un mot d'instruction. SOAP (Symbolic Optimal Assembly Program) était un langage assembleur pour l'ordinateur IBM 650, écrit par Stan Poley en 1955.

Les langages assembleurs éliminent une grande partie de la programmation de première génération sujette aux erreurs, fastidieuse et chronophage, nécessaire avec les premiers ordinateurs, libérant ainsi les programmeurs de tâches répétitives telles que la mémorisation de codes numériques et le calcul d'adresses. Ils étaient autrefois largement utilisés pour tous types de programmation. Cependant, vers la fin des années 1950, leur utilisation a largement été supplantée par des langages de plus haut niveau, dans la recherche d'une productivité de programmation améliorée. Aujourd'hui, le langage assembleur est toujours utilisé pour la manipulation directe du matériel, l'accès à des instructions de processeur spécialisées ou pour résoudre des problèmes de performances critiques. Les utilisations typiques sont les pilotes de périphériques, les systèmes embarqués de bas niveau et les systèmes en temps réel (voir § Utilisation actuelle).

De nombreux programmes ont été écrits entièrement en langage assembleur. Le Burroughs MCP (1961) fut le premier ordinateur pour lequel un système d'exploitation n'a pas été développé entièrement en langage assembleur ; il a été écrit en Executive Systems Problem Oriented Language (ESPOL), un dialecte d'Algol. De nombreuses applications commerciales ont également été écrites en langage assembleur, y compris une grande partie des logiciels mainframe IBM écrits par de grandes entreprises. COBOL, FORTRAN et une partie de PL/I ont fini par remplacer une grande partie de ce travail, bien que de nombreuses grandes organisations aient conservé des infrastructures d'applications en langage assembleur bien dans les années 1990.

Le langage assembleur a longtemps été le langage de développement principal pour les ordinateurs personnels 8 bits tels que l'Apple II, les ordinateurs 8 bits Atari, MSX, ZX Spectrum et Commodore 64. Les dialectes BASIC interprétés sur ces systèmes offrent une vitesse d'exécution insuffisante et des fonctionnalités insuffisantes pour tirer pleinement parti du matériel disponible. Ces systèmes présentent des contraintes de ressources sévères, des architectures de mémoire et d'affichage idiosyncratiques, et fournissent des services système limités. Il existe également peu de compilateurs de langages de haut niveau adaptés à une utilisation sur microordinateurs. De même, le langage assembleur est le choix par défaut pour les consoles 8 bits telles que l'Atari 2600 et la Nintendo Entertainment System.

Des logiciels clés pour les ordinateurs compatibles IBM PC ont été écrits en langage assembleur, tels que MS-DOS, Turbo Pascal et le tableur Lotus 1-2-3. À mesure que la vitesse des ordinateurs augmentait de manière exponentielle, le langage assembleur est devenu un outil pour accélérer certaines parties de programmes, comme le rendu de Doom, plutôt qu'un langage de développement dominant. Dans les années 1990, le langage assembleur a été utilisé pour obtenir des performances sur des systèmes tels que la Sega Saturn et comme langage principal pour le matériel d'arcade basé sur le CPU/GPU intégré TMS34010, tels que Mortal Kombat et NBA Jam.
### Query ###
C'est qui qui a inventé le langage assembleur ?

### Main Text ###
Historical perspective

Assembly languages were not available at the time when the stored-program computer was introduced. Programs were written in absolute machine code, and loaded into the computer from punched paper tape, or toggled directly into memory from console switches. Kathleen Booth "is credited with inventing assembly language" based on theoretical work she began in 1947, while working on the ARC2 at Birkbeck, University of London following consultation by Andrew Booth (later her husband) with mathematician John von Neumann and physicist Herman Goldstine at the Institute for Advanced Study.

In late 1948, the Electronic Delay Storage Automatic Calculator (EDSAC) had an assembler (named "initial orders") integrated into its bootstrap program. It used one-letter mnemonics developed by David Wheeler, who is credited by the IEEE Computer Society as the creator of the first "assembler". Reports on the EDSAC introduced the term "assembly" for the process of combining fields into an instruction word. SOAP (Symbolic Optimal Assembly Program) was an assembly language for the IBM 650 computer written by Stan Poley in 1955.

Assembly languages eliminate much of the error-prone, tedious, and time-consuming first-generation programming needed with the earliest computers, freeing programmers from tedium such as remembering numeric codes and calculating addresses. They were once widely used for all sorts of programming. However, by the late 1950s, their use had largely been supplanted by higher-level languages, in the search for improved programming productivity. Today, assembly language is still used for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. Typical uses are device drivers, low-level embedded systems, and real-time systems (see § Current usage).

Numerous programs have been written entirely in assembly language. The Burroughs MCP (1961) was the first computer for which an operating system was not developed entirely in assembly language; it was written in Executive Systems Problem Oriented Language (ESPOL), an Algol dialect. Many commercial applications were written in assembly language as well, including a large amount of the IBM mainframe software written by large corporations. COBOL, FORTRAN and some PL/I eventually displaced much of this work, although a number of large organizations retained assembly-language application infrastructures well into the 1990s.

Assembly language has long been the primary development language for 8-bit home computers such as the Apple II, Atari 8-bit computers, MSX, ZX Spectrum, and Commodore 64. Interpreted BASIC dialects on these systems offer insufficient execution speed and insufficient facilities to take full advantage of the available hardware. These systems have severe resource constraints, idiosyncratic memory and display architectures, and provide limited system services. There are also few high-level language compilers suitable for microcomputer use. Similarly, assembly language is the default choice for 8-bit consoles such as the Atari 2600 and Nintendo Entertainment System.

Key software for IBM PC compatibles was written in assembly language, such as MS-DOS, Turbo Pascal, and the Lotus 1-2-3 spreadsheet. As computer speed grew exponentially, assembly language became a tool for speeding up parts of programs, such as the rendering of Doom, rather than a dominant development language. In the 1990s, assembly language was used to get performance out of systems such as the Sega Saturn and as the primary language for arcade hardware based on the TMS34010 integrated CPU/GPU such as Mortal Kombat and NBA Jam.

### Supplementary Text ###
Perspective historique

Les langages assembleurs n'étaient pas disponibles à l'époque de l'introduction des ordinateurs à programme enregistré. Les programmes étaient écrits en code machine absolu et chargés dans l'ordinateur à partir de bandes perforées ou entrés directement en mémoire à partir d'interrupteurs de console. Kathleen Booth "est reconnue pour avoir inventé le langage assembleur" sur la base de travaux théoriques qu'elle a commencés en 1947, alors qu'elle travaillait sur l'ARC2 à Birkbeck, University of London, suite à une consultation d'Andrew Booth (plus tard son mari) avec le mathématicien John von Neumann et le physicien Herman Goldstine à l'Institute for Advanced Study.

Fin 1948, le calculateur automatique à stockage retardé électronique (EDSAC) disposait d'un assembleur (appelé "initial orders") intégré à son programme d'amorçage. Il utilisait des mnémoniques d'une seule lettre développées par David Wheeler, qui est reconnu par l'IEEE Computer Society comme le créateur du premier "assembleur". Les rapports sur l'EDSAC ont introduit le terme "assemblage" pour désigner le processus de combinaison de champs en un mot d'instruction. SOAP (Symbolic Optimal Assembly Program) était un langage assembleur pour l'ordinateur IBM 650, écrit par Stan Poley en 1955.

Les langages assembleurs éliminent une grande partie de la programmation de première génération sujette aux erreurs, fastidieuse et chronophage, nécessaire avec les premiers ordinateurs, libérant ainsi les programmeurs de tâches répétitives telles que la mémorisation de codes numériques et le calcul d'adresses. Ils étaient autrefois largement utilisés pour tous types de programmation. Cependant, vers la fin des années 1950, leur utilisation a largement été supplantée par des langages de plus haut niveau, dans la recherche d'une productivité de programmation améliorée. Aujourd'hui, le langage assembleur est toujours utilisé pour la manipulation directe du matériel, l'accès à des instructions de processeur spécialisées ou pour résoudre des problèmes de performances critiques. Les utilisations typiques sont les pilotes de périphériques, les systèmes embarqués de bas niveau et les systèmes en temps réel (voir § Utilisation actuelle).

De nombreux programmes ont été écrits entièrement en langage assembleur. Le Burroughs MCP (1961) fut le premier ordinateur pour lequel un système d'exploitation n'a pas été développé entièrement en langage assembleur ; il a été écrit en Executive Systems Problem Oriented Language (ESPOL), un dialecte d'Algol. De nombreuses applications commerciales ont également été écrites en langage assembleur, y compris une grande partie des logiciels mainframe IBM écrits par de grandes entreprises. COBOL, FORTRAN et une partie de PL/I ont fini par remplacer une grande partie de ce travail, bien que de nombreuses grandes organisations aient conservé des infrastructures d'applications en langage assembleur bien dans les années 1990.

Le langage assembleur a longtemps été le langage de développement principal pour les ordinateurs personnels 8 bits tels que l'Apple II, les ordinateurs 8 bits Atari, MSX, ZX Spectrum et Commodore 64. Les dialectes BASIC interprétés sur ces systèmes offrent une vitesse d'exécution insuffisante et des fonctionnalités insuffisantes pour tirer pleinement parti du matériel disponible. Ces systèmes présentent des contraintes de ressources sévères, des architectures de mémoire et d'affichage idiosyncratiques, et fournissent des services système limités. Il existe également peu de compilateurs de langages de haut niveau adaptés à une utilisation sur microordinateurs. De même, le langage assembleur est le choix par défaut pour les consoles 8 bits telles que l'Atari 2600 et la Nintendo Entertainment System.

Des logiciels clés pour les ordinateurs compatibles IBM PC ont été écrits en langage assembleur, tels que MS-DOS, Turbo Pascal et le tableur Lotus 1-2-3. À mesure que la vitesse des ordinateurs augmentait de manière exponentielle, le langage assembleur est devenu un outil pour accélérer certaines parties de programmes, comme le rendu de Doom, plutôt qu'un langage de développement dominant. Dans les années 1990, le langage assembleur a été utilisé pour obtenir des performances sur des systèmes tels que la Sega Saturn et comme langage principal pour le matériel d'arcade basé sur le CPU/GPU intégré TMS34010, tels que Mortal Kombat et NBA Jam.

### Draft ###

Query: "C'est qui qui a inventé le langage assembleur?"
→ Who invented assembly language?

Simple information retrieval task. But "inventé" = invented vs "créé" = created? Semantic precision matters here.

### 1. Domain Contextualization

⟨H≈0.3⟩ Early computing history, 1940s-1950s. Pre-transistor era. Manchester, Cambridge, Princeton, Harvard. Vacuum tubes, paper tape, toggle switches. Assembly language bridges gap between human-readable mnemonics and machine code zeros and ones.

Key constraint: No standard definition of "assembly language" initially. ∴ Multiple parallel developments likely.

Geographic/temporal bounds:
- UK: EDSAC project, Cambridge
- US: Princeton, Harvard mark I-III
- Timeline: ~1947-1952

### 2. Primary Claims Analysis

**Kathleen Booth claim:**
● High confidence marker. 1947 theoretical work at Birkbeck
● Context: Working with Andrew Booth (later husband)  
◐ Consulting with von Neumann/Goldstine at IAS
● Result: Assembly language concepts for ARC2

**David Wheeler claim:**  
● High confidence marker. EDSAC 1948-1949
● One-letter mnemonics for instructions
● IEEE Computer Society recognition
● First documented assembler implementation

**Verification cross-check:**
EDSAC operational 1949 → Wheeler's work predates most other assembly language systems
Other contemporary systems: IBM 701 (1952), Whirlwind (1951)

### 3. Supporting Evidence

Timeline verification:
- 1947: Booth theoretical work
- 1948: EDSAC bootstrap with assembly components  
- 1949: Full EDSAC system operational
- 1950s: Assembly language widespread

⟨H≈0.8⟩ The question haunts every technical field - who truly "invented" something when innovation emerges through parallel discovery, when researchers in different labs, different countries, different years stumble upon the same breakthrough? Like asking who invented the light bulb or discovered gravity first...

**Stan Poley claim (1955):**
- SOAP for IBM 650
- Later development, not "invention"
- Refinements vs original breakthrough

### 4. Logical Synthesis

Two-tier answer structure needed:
1. **Conceptual invention:** Kathleen Booth (1947)
2. **Practical implementation:** David Wheeler (1948-1949)

Physical constraints support this:
- Assembly language concepts require theoretical computer architecture understanding
- Implementation requires working computer system
- EDSAC was among first practical electronic computers

**Priority assessment:**
Booth → foundational theory ●
Wheeler → first working implementation ●  
Combined: Most accurate attribution ◐

### 5. Answer Construction

Lead with Booth (1947 theoretical work) → establish conceptual foundation
Transition to Wheeler (EDSAC 1948-1949) → practical implementation breakthrough
Note: Wheeler gets IEEE recognition → credibility marker
Context: Soap 1955 → later refinement, not invention

**Key insight:** Not just "who invented" but "what constitutes invention" - theoretical vs practical, 1947 vs 1949, conceptual framework vs working system.

∴ Response should acknowledge both contributions while emphasizing Wheeler's 1948-1949 timeline as most defensible "invention" claim.

**Draft conclusion:** Complex question requiring distinction between theoretical foundation (Booth) and practical implementation (Wheeler). Wheeler's EDSAC work represents first true assembly language system, though Booth's earlier theoretical contributions were foundational.

### Answer###
Le langage assembleur a été inventé par Kathleen Booth, qui est créditée de cette innovation basée sur des travaux théoriques qu'elle a commencés en 1947. Elle travaillait alors sur l'ARC2 à Birkbeck, University of London, suite à une consultation d'Andrew Booth (son futur mari) avec John von Neumann et Herman Goldstine à l'Institute for Advanced Study.

David Wheeler est quant à lui reconnu comme le créateur du premier assembleur véritable. Il a développé les premiers mnémotechniques à une seule lettre pour les instructions et a travaillé sur l'EDSAC. Les rapports sur cet ordinateur ont introduit le terme "assemblage" pour désigner le processus de combinaison de champs en un mot d'instruction. L'EDSAC avait d'ailleurs un assembleur intégré dès fin 1948, appelé "initial orders".

Il convient de noter que Stan Poley a également contribué à l'évolution du langage assembleur avec son programme SOAP (Symbolic Optimal Assembly Program) pour l'ordinateur IBM 650 en 1955.