Thoreau BASIC : un interpréteur moderne qui restaure le langage BASIC en 2024
En bref
- Thoreau BASIC est un nouvel interpréteur BASIC qui préserve la syntaxe historique tout en ajoutant 64 bits, graphiques 24-bit, réseau TCP/IP, multicore PARFOR, JIT natif x64 et lecture MIDI/WAV/FLAC.
- Le même code BASIC s'exécute sous Windows ou directement depuis le firmware UEFI, sans système d'exploitation.
- L'auteur propose aussi Pixel Prose comme exemple d'application, disponible en versions DOS, Commodore 64, Amstrad CPC et UEFI.
Ce que dit la source
L'auteur pose une question : et si BASIC n'était jamais sorti de mode ? Thoreau BASIC répond en proposant un interpréteur BASIC moderne qui garde la syntaxe simple du langage d'origine (pas de gestionnaires de paquets, pas de frameworks externes, commandes en clair) tout en l'enrichissant de capacités contemporaines : arithmétique complexe et quaternion, débogueur, profileur, compilation JIT, API réseau et graphique intégrées. L'auteur affirme que "graphics, networking and sound remain ordinary BASIC commands, not separate frameworks", replaçant ces fonctionnalités au cœur du langage au lieu de les reléguer à des bibliothèques externes. La possibilité de booter directement en UEFI sans système d'exploitation est présentée comme une originalité technique.
- Le langage conserve la syntaxe GW-BASIC classique (10, 20, 30...) mais n'impose pas les numéros de ligne ; ils restent optionnels pour la compatibilité.
- GETFILES, SELECTBOX, STATEWRITE/STATELOAD et FILECOMMIT offrent des primitives de haut niveau pour la gestion de fichiers, dialogues et sauvegardes checkpoint avec CRC32.
- Arithmétique native pour nombres complexes, quaternions et octonions, plus réduction JIT ciblée pour les conversions INT flottantes.
- Pas de dépendance à un OS : la version UEFI utilise GOP (graphique), HID (clavier/souris), firmware ou stack SNP (réseau), son HDA/Azalia.
- Wavetable GM/GS complet (513,5 MB compressé sans perte) avec support MIDI/WAV/FLAC/Opus, décompression avant lecture, optionnel via NOGM pour les EXE autonomes.
- PARFOR multicore, profiler et débogueur intégrés, outils source (documentation complète en texte brut).
Dans les commentaires
Débat partagé mais courtois : admiratif sur la prouesse technique et la philosophie (BASIC sans écosystème fragmenté), mais peu convaincu qu'une renaissance de BASIC réponde à un besoin réel. Plusieurs commentateurs doutent que la lisibilité soit l'argument : le vrai problème était la structure (spaghetti code en numéros de ligne), pas la syntaxe. Un consensus émerge sur l'existence de vrais dialectes BASIC modernes (VB.NET, PureBasic, Xojo) qui résolvent ces problèmes historiques ; pourquoi un nouvel interpréteur ?
- Plusieurs commentateurs soulignent que le vrai défaut de BASIC n'était pas la syntax, mais les numéros de ligne qui induisaient le spaghetti code : VB.NET, Xojo et PureBasic avaient déjà résolu cela depuis longtemps.
- Une critique sur la portabilité : le projet cible Windows x64 et UEFI, mais pas Linux ou macOS, et pas d'Arduino/ESP32 malgré l'intérêt potentiel pour l'IoT et l'éducation matérielle.
- Un commentateur note que si BASIC est resté vivant, c'est dans Excel VBA et des niches (génie logiciel embarqué, Mikroe BASIC) où il n'a jamais vraiment disparu ; créer un nouvel interpréteur n'inverse pas cette dynamique.
- Absence de débat technique dense sur les performances, la consommation mémoire ou les cas d'usage réels où cette combinaison (syntaxe BASIC + JIT + UEFI) serait préférable aux alternatives existantes.
Alternatives citées : PureBasic, VB.NET, Xojo, Mikroe BASIC, BlitzMax, et mentionné aussi le projet SIMPL.
Notre lecture
Projet de belle facture technique et nostalgique qui montre qu'on peut faire vivre BASIC comme langage moderne avec des primitives de haut niveau intégrées. Mais la question fondamentale reste ouverte : la simplicité syntaxique est-elle assez attrayante pour surmonter des années d'inertie linguistique, quand VB.NET (à l'abandon chez Microsoft) et PureBasic/Xojo existent déjà et répondent aux mêmes envies de lisibilité ? Le côté UEFI bootable est ingénieux mais niche. Intéressant pour les amateurs de langages historiques ou pour un exercice éducatif de bas niveau, pas clairement un produit avec un marché identifié. À suivre pour voir si une communauté émerge.