Este curioso proyecto es un intérprete de Forth para un ordenador muy básico, el LC-3 (Little Computer 3, un sistema educativo para niños) que explica cómo podría ser útil para programar en un mundo postapocalíptico en el que hubiera que introducir el código, literalmente, a mano.
En ese futuro decadente «no habría ni Github ni Copilot ni Stack Overflow», dice Serge Zaitsev, su creador. Todo sería tan básico que lo mejor sería utilizar una CPU que no fuera ni x86 ni ARM64 ni nada parecido. La CPU del LC-3 tiene sólo 15 instrucciones muy básicas (ADD, AND, NOT, JMP, LDI, LDR, STR, etcétera) es fácil de simular y es fácil crear un ensamblador, un compilador de C, o un intérprete de Forth como es el caso.
El Github puede encontrarse todo el código código de LC-3 Forth, incluyen su máquina virtual, intérprete y la librería principal. Todo esto ocupa tan solo 574 bytes, lo que implica, como dice su creador, que «podría guardarse en papel y teclearse a mano, ya sea en un teclado o en un panel hexadecimal». Tal vez no sea muy divertido pero… ¡quién sabe si algún día lo podrías necesitar!
Relacionado:
- HeartForth: el lenguaje de programación en emojis
- Simuladores de ensamblador de 8 y 16 bits
- Una comparación entre un programa en lenguaje C y su compilación en código máquina, instrucción a instrucción
- Como entender de qué van los lenguajes de programación (y otras técnicas) en vídeos de 100 segundos