# QBasic

QBasic ist ein BASIC-Interpreter. Es ist die abgespeckte Version der Entwicklungsumgebung QuickBASIC 4.5.
Microsoft lieferte sie ab 1991 standardmäßig mit dem eigenen MS-DOS-Betriebssystem-Versionen (von 5.0–6.22) aus. Auch auf den Installations-CDs von Windows 95, 98 und ME war es noch enthalten. QBasic ersetzte das veraltete GW-BASIC, das bei vorinstallierten OEM-Versionen von MS-DOS bis zur Version 4.0 teilweise im Lieferumfang enthalten war.

## Hintergrund

Mit QuickBASIC, insbesondere in den Versionen 4 und 4.5, führte Microsoft seine 1976 begonnene Produktlinie Microsoft BASIC in einer MS-DOS-Anwendung zusammen. QuickBASIC benötigte nun keine Zeilennummern mehr, bot die Möglichkeit, Unterprozeduren und Funktionen zu definieren und stellte verbesserte Möglichkeiten der strukturierten Programmierung zur Verfügung, auch wurde VGA durch die Bildschirmmodi 11, 12 und 13 unterstützt. Verbessert wurde auch die Entwicklungsumgebung, welche nun auch (im Textmodus) über die Maus bedient werden konnte. Mit MS-DOS wurde dann eine weniger umfangreiche Version von QuickBASIC mit dem Namen QBasic, mitgeliefert.
Bedingt durch die Begrenzungen von und durch MS-DOS und des Programms selbst durften die Programme eine Größe von etwas über 160 kB nicht überschreiten.

## Unterschiede zu QuickBASIC

Der große Unterschied zu QuickBASIC ist, dass QBasic keinen Compiler enthält und somit keine verteilfähigen .EXE-Dateien erzeugen kann, sondern die Datei inline als .BAS-Datei abspeichert und ausführt. Aus diesem Grund stand QBasic-Programmen weniger Arbeitsspeicher zur Verfügung. Über die Kommandozeile können Programme mit dem Befehl qbasic /run programm.bas gestartet werden. Es lassen sich keine Fremdbibliotheken einbinden. Die Online-Hilfe wurde ebenfalls gekürzt. Zudem sind Systemaufrufe, wenn auch machbar, schwieriger.
QuickBASIC-Programme, welche keine Bibliotheken benutzen oder keine speziellen Funktionen für Systemaufrufe verwenden, sind auch unter QBasic lauffähig. Umgekehrt laufen alle Programme auch unter QuickBASIC sowie Visual Basic für MS-DOS und lassen sich dort kompilieren.

## Beispielprogramme

QBasic wurde zusammen mit vier Beispielprogrammen ausgeliefert:
* Gorillas: In diesem Spiel von IBM stehen sich zwei Gorillas auf Hochhausdächern an jeweils gegenüberliegenden Bildschirmrändern gegenüber. Abwechselnd versuchen sie, sich mit einer explodierenden Banane zu treffen. Die Steuerung erfolgt hier durch abwechselnde Eingabe von Winkel und Geschwindigkeit. Dabei ist die Windgeschwindigkeit zu beachten. Das Programm demonstriert (einfache) physikalische Berechnungen sowie „hochauflösende“ Spritegrafik (640×350 Pixel bei 16 Farben).
* Money: Der QBasic Money Manager ist ein einfaches (amerikanisches) Buchhaltungsprogramm auf einer festen Maximal-Anzahl an Konten. Ein Konto kann ein Asset-, also ein Aktiva-, oder ein Liability-, also ein Passiva-Konto sein. Die Art des Kontos beeinflusst die Art der Bilanzierung. Ein Datensatz in einem Konto besteht aus einem Datum im amerikanischen Format, Beschreibungstext und der Wert der Transaktion. Die Konten und Bilanzen können angezeigt und ausgedruckt werden. Die „Bücher“ werden bei jeder Eingabe und Löschung in einer Datei gespeichert.
* Nibbles: Snake-Spiel im Textmodus. Auch zu zweit spielbar.
* Remline: (im deutschsprachigen QuickBasic als Entfzeil bezeichnet) Sowohl Beispielprogramm als auch nützliches Hilfsprogramm: Auch wenn mit Ausnahmen die Ausführung von zeilennummernbasiertem GW-BASIC-Code unter QBASIC möglich ist, entfernt es aus solchen Programmen die in QBasic überflüssige Nummerierung der Zeilen. Zeilennummern, die z. B. als Sprungziel nötig sind, bleiben dabei erhalten. Von diesem Programm wurde der Codegenerator von QB64 inspiriert.

## Rezeption

Bis in die 2000er Jahre, nachdem MS-DOS ein Subsystem von Microsoft Windows wurde, haben sich verschiedene private Websites mit QBasic beschäftigt, bevor verschiedene Produkte von Drittherstellern die Nachfolge von QBasic beanspruchten. Da die meisten dieser Produkte als Shareware vertrieben wurden, jedoch keines von ihnen mit QBasic in (kostenloser) Verfügbarkeit und Kompatibilität gleichziehen konnte, ließ das Interesse an diesen Projekten, und später durch die Veröffentlichung von Visual Basic .NET auch das Interesse an QBasic, schnell nach. Mittlerweile gibt es einige BASIC-Dialekte, auf die viele der ehemaligen QBasic-Programmierer umgestiegen sind. Seit 2007 und der Gründung des Open-Source-Projekts QB64, einer nahezu vollständig kompatiblen Weiterentwicklung von QBasic, erlebt die Sprache und die (englischsprachige) QBasic-Community durch den Trend des Retrocomputings eine Wiederbelebung.