banner
Maison / Blog / QuickBASIC vit avec QB64
Blog

QuickBASIC vit avec QB64

Aug 21, 2023Aug 21, 2023

Quand j'ai eu mon premier ordinateur, un 386 d'occasion sous MS-DOS 6.22, je n'avais pas de connexion Internet. Mais j'avais installé QuickBASIC et une pile de magazines de programmation que la bibliothèque locale jetait, donc j'avais de quoi m'occuper. À l'époque, je pensais que QuickBASIC était plus ou moins indiscernable de la magie. Je pourrais écrire du code simple et le compiler dans un .exe, le mettre sur une disquette et le donner à quelqu'un d'autre pour qu'il l'exécute sur sa propre machine. Cela semblait trop beau pour être vrai, comment cette technologie pourrait-elle être améliorée ?

Bien sûr, c'était il y a de nombreuses années, et les choses sont très différentes maintenant. Les langages de programmation du jour sont des mondes plus performants que les variantes BASIC laborieuses des années 80 et 90. Mais quand même, quand j'ai trouvé une disquette pleine de programmes que j'avais écrits il y a des décennies, je n'ai pas pu m'empêcher de me demander s'il était possible de les faire fonctionner à nouveau. Avec quelque chose comme DOSBox, j'ai pensé que je devrais pouvoir installer l'IDE QuickBASIC et les exécuter comme si j'étais de retour sur mon fidèle 386.

Malheureusement, cela n'a pas été le cas. Peut-être que je ne connais pas assez bien DOSBox, mais je n'ai pas pu faire en sorte que l'IDE exécute le code source que j'ai extrait de la disquette. C'était décevant, mais il m'est alors venu à l'esprit que des interpréteurs BASIC modernes étaient probablement en cours de développement dans un coin d'Internet, et peut-être que je pourrais trouver un moyen d'exécuter mon code vieux de près de 30 ans sans avoir à compter sur un logiciel vieux de 30 ans pour fais-le.

Après avoir cherché un peu, j'ai trouvé le projet QB64. Il s'agit d'un environnement de développement QuickBASIC open source qui est non seulement entièrement compatible avec les programmes existants, mais ajoute des fonctions et des capacités qui étaient impensables sur mon 386. L'affichage d'un PNG, le chargement de polices TTF ou la lecture d'un MP3 en arrière-plan peuvent être accomplis avec juste une ou deux commandes.

De telles choses étaient possibles avec le QuickBASIC original, mais existaient plus dans le domaine des démos technologiques qu'autre chose. Oh les jeux que j'aurais pu faire à l'époque avec un logiciel comme celui-ci ! Je devais me contenter de bips et de bloops, et même cela vous obligeait à déterminer vous-même le timing des tonalités.

Mieux encore, QB64 est multiplateforme et prend en charge la compilation en binaires natifs pour Linux, Windows et Mac OS. Cela signifiait que non seulement je pouvais exécuter mon ancien code dans l'IDE, mais que je pouvais en fait le compiler dans un binaire pour mon bureau Linux. Je ne possède plus d'ordinateur Windows, mais avec WINE, j'ai pu exécuter la version Windows de QB64 et compiler un .exe que je pourrais donner à mes amis qui vivent encore à l'âge des ténèbres.

Vous pouvez même utiliser QB64 pour compiler le code QuickBasic dans une application Android, bien qu'il y ait des étapes considérables à franchir et qu'il ne fonctionne actuellement que sous Windows.

Cela peut être perdu pour ceux qui n'ont jamais écrit de code BASIC sur une machine vintage, mais le code suivant crée un écran 800 × 600, affiche un PNG plein écran, lit un MP3 et écrit un message en utilisant une police TrueType.

À titre de comparaison, cet outil QuickBasic pour afficher simplement une image JPEG s'exécute à 653 lignes de code.

Dans mon adolescence énervée, j'ai créé une version graphique du jeu de style "Drugwars". Vous avez déplacé un petit bonhomme bâton dans un environnement pixélisé, achetant et vendant des substances dont j'avais entendu parler dans des films mais que je n'avais certainement jamais vues en personne. C'était terrible. Mais cela faisait partie de ma jeunesse et j'ai pensé que ce serait amusant de voir si je pouvais chausse-pied dans un flash moderne en utilisant QB64.

Il s'avère que les PNG transparents et la possibilité d'afficher les polices appropriées facilitent grandement les choses. Être capable de jouer de la musique et des effets sonores ambiants en arrière-plan rend même les jeux mal faits beaucoup mieux. Les captures d'écran suivantes sont du menu principal de mon petit fantasme de crime chez les adolescentes, avant et après l'application de QB64. Notez que le code source principal lui-même est plus ou moins le même, je l'entrelace simplement avec la possibilité de charger et d'afficher des fichiers externes.

Non, vous ne devriez certainement pas. Je n'ai pas écrit ceci pour essayer de convaincre qui que ce soit de sauter sur un langage de programmation qui a atteint son apogée avant même que beaucoup de nos lecteurs ne soient nés. QuickBASIC est un langage obsolète, coincé avec des méthodes et des limitations obsolètes qui déroutent le programmeur moderne. Mais QB64 fait un excellent travail de modernisation de ce langage classique, ne serait-ce que dans une mesure relativement faible dans le grand schéma des choses, pour ceux d'entre nous qui se sont fait les dents dessus.

Pouvoir prendre un disque avec du code BASIC que j'ai écrit sur un DOS 386 au début des années 90 et le transformer en un binaire Linux en 2018 est une réalisation assez soignée, et je salue l'équipe de développement QB64 pour avoir rendu cela possible. Je n'écrirai pas de nouveau code dans le langage, et je ne suggère pas que vous le fassiez non plus, mais c'était très amusant de pouvoir revisiter cette période de ma vie et de la faire glisser dans l'ère moderne.