QuickBASIC lebt mit QB64 weiter
Als ich meinen ersten Computer bekam, einen gebrauchten 386 mit MS-DOS 6.22, hatte ich keine Internetverbindung. Aber ich hatte QuickBASIC installiert und einen Stapel Programmierzeitschriften, die die örtliche Bibliothek wegwarf, also hatte ich genug, um mich zu beschäftigen. Damals dachte ich, QuickBASIC sei mehr oder weniger nicht von Magie zu unterscheiden. Ich könnte einfachen Code schreiben und ihn in eine EXE-Datei kompilieren, ihn auf eine Diskette legen und ihn jemand anderem geben, damit er ihn auf seinem eigenen Computer ausführt. Es schien zu schön, um wahr zu sein. Wie könnte diese Technologie möglicherweise verbessert werden?
Das ist natürlich schon viele Jahre her, und heute ist alles ganz anders. Die aktuellen Programmiersprachen sind um Welten leistungsfähiger als die schwerfälligen BASIC-Varianten der 80er und 90er Jahre. Aber als ich dennoch eine Diskette voller Programme fand, die ich vor Jahrzehnten geschrieben hatte, musste ich mich fragen, ob ich sie wieder zum Laufen bringen würde. Mit so etwas wie DOSBox dachte ich, dass ich in der Lage sein sollte, die QuickBASIC-IDE zu installieren und sie auszuführen, als wäre ich wieder auf meinem treuen 386.
Leider sollte das nicht sein. Vielleicht kenne ich mich einfach nicht gut genug mit DOSBox aus, aber ich konnte die IDE nicht dazu bringen, den Quellcode, den ich von der Diskette gezogen habe, tatsächlich auszuführen. Das war enttäuschend, aber dann kam mir der Gedanke, dass moderne BASIC-Interpreter wahrscheinlich irgendwo im Internet entwickelt werden und ich vielleicht einen Weg finden könnte, meinen fast 30 Jahre alten Code auszuführen, ohne auf 30 Jahre alte Software angewiesen zu sein Tu es.
Nachdem ich ein wenig gesucht hatte, fand ich das QB64-Projekt. Hierbei handelt es sich um eine Open-Source-QuickBASIC-Entwicklungsumgebung, die nicht nur vollständig mit vorhandenen Programmen kompatibel ist, sondern auch Funktionen und Fähigkeiten hinzufügt, die auf meinem 386 undenkbar waren. Das Anzeigen eines PNG, das Laden von TTF-Schriftarten oder das Abspielen einer MP3 im Hintergrund ist damit möglich mit nur einem oder zwei Befehlen.
Solche Dinge waren mit dem ursprünglichen QuickBASIC möglich, existierten aber eher im Bereich technischer Demos als alles andere. Oh, was für Spiele ich damals mit Software wie dieser hätte machen können! Ich musste mich mit Pieptönen und Bloops begnügen, und selbst das erforderte, dass man das Timing für die Töne selbst herausfinden musste.
Noch besser: QB64 ist plattformübergreifend und unterstützt das Kompilieren in native Binärdateien für Linux, Windows und Mac OS. Das bedeutete, dass ich nicht nur meinen alten Code innerhalb der IDE ausführen konnte, sondern ihn auch tatsächlich in eine Binärdatei für meinen Linux-Desktop kompilieren konnte. Ich besitze keinen Windows-Computer mehr, aber mit WINE konnte ich die Windows-Version von QB64 ausführen und eine EXE-Datei kompilieren, die ich meinen Freunden geben konnte, die noch im dunklen Zeitalter leben.
Sie können QB64 sogar verwenden, um QuickBasic-Code in eine Android-Anwendung zu kompilieren, allerdings gibt es dabei erhebliche Hürden zu überwinden und es funktioniert derzeit nur unter Windows.
Für diejenigen, die noch nie BASIC-Code auf einem Vintage-Gerät geschrieben haben, ist dies möglicherweise nicht erkennbar, aber der folgende Code erstellt einen 800×600-Bildschirm, erstellt ein Vollbild-PNG, spielt eine MP3-Datei ab und schreibt eine Nachricht mit einer TrueType-Schriftart.
Zum Vergleich: Dieses QuickBasic-Tool zum einfachen Anzeigen eines JPEG-Bilds benötigt 653 Codezeilen.
In meiner nervösen Teenagerzeit habe ich eine grafische Version des Spiels im „Drugwars“-Stil erstellt. Sie bewegten ein kleines Strichmännchen durch eine pixelige Umgebung und kauften und verkauften Substanzen, von denen ich in Filmen gehört hatte, die ich aber sicherlich noch nie persönlich gesehen hatte. Es war schrecklich. Aber es war Teil meiner Jugend und ich dachte, es würde Spaß machen zu sehen, ob ich mit QB64 einen modernen Blitz einbauen könnte.
Wie sich herausstellt, machen transparente PNGs und die Möglichkeit, die richtigen Schriftarten anzuzeigen, die Sache viel einfacher. Durch die Möglichkeit, Musik und Umgebungsgeräusche im Hintergrund abzuspielen, wirken selbst schlampig gemachte Spiele viel besser. Die folgenden Screenshots zeigen das Hauptmenü meiner kleinen Teenager-Krimi-Fantasie vor und nach der Anwendung von QB64. Beachten Sie, dass der Kernquellcode selbst mehr oder weniger derselbe ist. Ich verschränke ihn lediglich mit der Möglichkeit, externe Dateien zu laden und anzuzeigen.
Nein, das sollten Sie auf keinen Fall tun. Ich habe dies nicht geschrieben, um irgendjemanden davon zu überzeugen, auf eine Programmiersprache zurückzugreifen, deren Höhepunkt bereits vor der Geburt vieler unserer Leser erreicht wurde. QuickBASIC ist eine antiquierte Sprache mit veralteten Methoden und Einschränkungen, die den modernen Programmierer verwirren. Aber QB64 leistet hervorragende Arbeit bei der Modernisierung dieser klassischen Sprache, wenn auch nur in relativ geringem Maße im Großen und Ganzen, für diejenigen von uns, die sich damit beschäftigt haben.
Die Möglichkeit, eine Diskette mit BASIC-Code, den ich Anfang der 90er Jahre auf einem DOS 386 geschrieben habe, im Jahr 2018 in eine Linux-Binärdatei umzuwandeln, ist eine ziemlich tolle Leistung, und ich lobe das QB64-Entwicklungsteam dafür, dass es das möglich gemacht hat. Ich werde keinen neuen Code in der Sprache schreiben, und ich empfehle Ihnen auch nicht, dies zu tun, aber es hat viel Spaß gemacht, diese Zeit in meinem Leben noch einmal Revue passieren zu lassen und sie voller Tatendrang in die Moderne zu tragen.
Prev: Archivierte „Sunday Morning“-Links
Nächste: Der Trojaner-Affäre-Podcast