banner

Nouvelles

Jul 07, 2023

QuickBASIC perdure avec QB64

Lorsque j'ai acheté mon premier ordinateur, un 386 d'occasion exécutant MS-DOS 6.22, je n'avais pas de connexion Internet. Mais j'avais QuickBASIC installé et une pile de magazines de programmation que la bibliothèque locale jetait, j'avais donc de quoi m'occuper. À l’époque, je pensais que QuickBASIC était plus ou moins impossible à distinguer de la magie. Je pourrais écrire du code simple et le compiler dans un fichier .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 aujourd’hui. Les langages de programmation du jour sont bien plus performants que les laborieuses variantes BASIC des années 80 et 90. Mais quand j'ai trouvé une disquette remplie 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 serait 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 tout simplement pas assez bien DOSBox, mais je n'ai pas réussi à faire en sorte que l'EDI exécute réellement le code source que j'ai extrait de la disquette. C'était décevant, mais je me suis ensuite rendu compte que des interpréteurs BASIC modernes étaient probablement développés dans un coin d'Internet, et que je pourrais peut-être 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 le faire. 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 impensables sur mon 386. Il est possible d'afficher un fichier PNG, de charger des polices TTF ou de lire un MP3 en arrière-plan. avec seulement une ou deux commandes.

De telles choses étaient possibles avec le QuickBASIC original, mais existaient plus dans le domaine des démonstrations techniques qu'autre chose. Oh les jeux que j'aurais pu créer à l'époque avec un logiciel comme celui-ci ! Je devais me contenter de bips et de bloops, et même cela exigeait que vous déterminiez 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'EDI, mais que je pouvais également le compiler en 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 dans les âges sombres.

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

Cela pourrait ê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 permettant d'afficher simplement une image JPEG contient 653 lignes de code.

Durant mon adolescence avant-gardiste, j'ai créé une version graphique du jeu de style « Drugwars ». Vous avez déplacé un petit bonhomme de bâton dans un environnement pixelisé, achetant et vendant des substances dont j'avais entendu parler dans les 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 utiliser un flash moderne en utilisant QB64.

Il s'avère que les fichiers PNG transparents et la possibilité d'afficher les polices appropriées rendent les choses beaucoup plus faciles. Être capable de jouer de la musique et des effets sonores ambiants en arrière-plan donne l'impression que même les jeux mal réalisés semblent bien meilleurs. Les captures d'écran suivantes représentent le menu principal de mon petit fantasme de crime d'adolescent, 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 le faire. Je n'ai pas écrit ceci pour essayer de convaincre qui que ce soit de se lancer dans un langage de programmation qui a atteint son apogée avant même la naissance de beaucoup de nos lecteurs. QuickBASIC est un langage désuet, coincé avec des méthodes et des limitations obsolètes qui sont déroutantes pour 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 l'ensemble, pour ceux d'entre nous qui y ont fait leurs armes.

PARTAGER