Dit artikel beschrijft de toepassing van Uitvoerbare Archeologie op twee historische AI-systemen die programmeren modelleren: de Heuristic Compiler (1961) en KBEmacs (1984).
- De Heuristic Compiler van Herbert Simon zag programmeren als een vorm van probleemoplossing via means-ends analysis.
- KBEmacs van het MIT-project Programmer's Apprentice benaderde programmeren als het combineren van bekende patronen, oftewel 'clichés'.
De auteurs zijn erin geslaagd beide systemen te reanimeren, waarbij ze paradoxaal genoeg gebruikmaakten van een moderne AI-tool (Claude Code) om dit proces te versnellen. De belangrijkste conclusie is dat moderne AI-codeassistenten, hoewel veel krachtiger, de expliciete en uitvoerbare theorieën over het programmeerproces missen die in deze vroege systemen wel aanwezig waren.
Uitvoerbare Archeologie van Programma's die Programmeren Modelleren: Het Reanimeren van de Heuristic Compiler (1961) en KBEmacs (1984)
Samenvatting
Vroege AI-programma's waren vaak ook theorieën over hoe mensen denken, en programma's die programma's schreven waren, in zekere mate, theorieën over hoe mensen programmeren. Hier rapporteren we over de reanimatie van twee van dergelijke programma's die twee schijnbaar verschillende theorieën over programmeren bieden en ontwikkeld zijn voor totaal verschillende doeleinden.
De Heuristic Compiler (1961)
De eerste, de Heuristic Compiler van Herbert Simon (1961), was een experimenteel model van programmeren als probleemoplossing. Hierbij werden de means-ends analysis-methoden van de General Problem Solver toegepast om de aard van de programmeertaak te onderzoeken.
KBEmacs (1984)
De tweede, KBEmacs (1984), was een werkend prototype van een intelligente programmeerassistent, ontwikkeld door het Programmer's Apprentice-project van MIT. Dit systeem was gebouwd op het inzicht dat deskundige programmeurs bekende patronen, of "clichés", herkennen en combineren. Het stelde een programmeur in staat om programma's op te bouwen door clichés te combineren via een gestileerde Engelse opdrachttaal.
Methodologie: Uitvoerbare Archeologie
We benaderen beide systemen via de methodologie van Uitvoerbare Archeologie (Executable Archaeology). Dit is de studie van historische computationele systemen door hun originele code uit te voeren, een proces dat we "reanimatie" noemen.
De resultaten van deze reanimaties zijn als volgt:
- De reanimatie van de Heuristic Compiler reproduceert de gecompileerde code die verschijnt in het artikel van Simon uit 1963.
- De reanimatie van KBEmacs reproduceert de SQRT-sequentie van de zelftest uit december 1984.
Analyse en Conclusies
Wanneer de twee systemen naast elkaar worden gelegd, blijkt dat de twee theorieën veel gemeen hebben: de Heuristic Compiler werkt ook door bestaande routines aan te passen, en Simon betoogde later dat enkel zoeken een grote hoeveelheid programmeerkennis vereist.
Om de reflexiviteit van dit project te benadrukken, hebben we bewust een moderne AI-ondersteunde programmeertool gebruikt, Anthropic's Claude Code (Opus 5.5), om een groot deel van het gedetailleerde reanimatiewerk uit te voeren, voortbouwend op een aanzienlijke basis van bestaande software.
De expliciete, uitvoerbare theorieën over programmeren die beide systemen belichaamden, ontbreken grotendeels in de huidige, veel capabelere AI-codeassistenten.
Uitvoerbare Archeologie van Programma's die Programmeren Modelleren: Het Reanimeren van de Heuristic Compiler (1961) en KBEmacs (1984)
Samenvatting
Vroege AI-programma's waren vaak ook theorieën over hoe mensen denken, en programma's die programma's schreven waren, in zekere mate, theorieën over hoe mensen programmeren. Hier rapporteren we over de reanimatie van twee van dergelijke programma's die twee schijnbaar verschillende theorieën over programmeren bieden en ontwikkeld zijn voor totaal verschillende doeleinden.
De Heuristic Compiler (1961)
De eerste, de Heuristic Compiler van Herbert Simon (1961), was een experimenteel model van programmeren als probleemoplossing. Hierbij werden de means-ends analysis-methoden van de General Problem Solver toegepast om de aard van de programmeertaak te onderzoeken.
KBEmacs (1984)
De tweede, KBEmacs (1984), was een werkend prototype van een intelligente programmeerassistent, ontwikkeld door het Programmer's Apprentice-project van MIT. Dit systeem was gebouwd op het inzicht dat deskundige programmeurs bekende patronen, of "clichés", herkennen en combineren. Het stelde een programmeur in staat om programma's op te bouwen door clichés te combineren via een gestileerde Engelse opdrachttaal.
Methodologie: Uitvoerbare Archeologie
We benaderen beide systemen via de methodologie van Uitvoerbare Archeologie (Executable Archaeology). Dit is de studie van historische computationele systemen door hun originele code uit te voeren, een proces dat we "reanimatie" noemen.
De resultaten van deze reanimaties zijn als volgt:
- De reanimatie van de Heuristic Compiler reproduceert de gecompileerde code die verschijnt in het artikel van Simon uit 1963.
- De reanimatie van KBEmacs reproduceert de SQRT-sequentie van de zelftest uit december 1984.
Analyse en Conclusies
Wanneer de twee systemen naast elkaar worden gelegd, blijkt dat de twee theorieën veel gemeen hebben: de Heuristic Compiler werkt ook door bestaande routines aan te passen, en Simon betoogde later dat enkel zoeken een grote hoeveelheid programmeerkennis vereist.
Om de reflexiviteit van dit project te benadrukken, hebben we bewust een moderne AI-ondersteunde programmeertool gebruikt, Anthropic's Claude Code (Opus 5.5), om een groot deel van het gedetailleerde reanimatiewerk uit te voeren, voortbouwend op een aanzienlijke basis van bestaande software.
De expliciete, uitvoerbare theorieën over programmeren die beide systemen belichaamden, ontbreken grotendeels in de huidige, veel capabelere AI-codeassistenten.