GW-BASIC

GW-BASIC
GW-Basic
Entwickler Microsoft Corporation
Aktuelle Version 3.23
(1988)
Betriebssystem MS-DOS
Kategorie BASIC-Interpreter und Entwicklungsumgebung
Deutschsprachig Nein

GW-Basic war zwischen 1983 und 1991 eine BASIC-Version der Firma Microsoft für die ersten IBM-kompatiblen PC. Sie war der Vorläufer von QBasic, bzw. QuickBASIC.

Inhaltsverzeichnis

Geschichte

BASIC war die erste Programmiersprache für den 1981 erschienenen IBM-PC. Dieser verfügte (wie viele Heimcomputer der damaligen Zeit) über einen BASIC-Interpreter im ROM namens BASICA. Das BASIC wurde gestartet, wenn beim Booten des Rechners kein Betriebssystem gefunden wurde. Es war exklusiv für die Firma IBM lizenziert. Das Betriebssystem MS-DOS verfügte ursprünglich über den Befehl BASICA, mit dem dieses Basic (mit einigen Erweiterungen) gestartet werden konnte, während MS-DOS lief.

Später kamen IBM-PC-kompatible Computer anderer Hersteller auf den Markt, die ebenfalls MS-DOS als Betriebssystem nutzten. Aus lizenzrechtlichen Gründen verfügten diese aber nicht über den BASIC-Interpreter des IBM-PC. Daraufhin verkaufte Microsoft GW-BASIC, welches nicht auf dem BASIC-Interpreter im ROM basiert, auf Diskette. GW-BASIC ist eine wesentlich erweiterte, zu BASICA kompatible BASIC-Version.

Für die damaligen Verhältnisse war es ziemlich umfangreich (ca. 60K), bestand aber lediglich aus einer exe-Datei. Es musste noch mit Zeilennummern programmiert werden, war auf die Adressierung von 64 KB RAM beschränkt, konnte aber alle aktuellen Standard-Grafikkarten (bis EGA) ansteuern. Die letzte erschienene Version ist die 3.23.

Schon bald begann Microsoft, GW-BASIC mit jeder Kopie von MS-DOS mitzuliefern. Unter anderem durch diese allgemeine Verfügbarkeit ohne weitere Anschaffungskosten spielte es bis Mitte der 80er-Jahre eine nicht unwichtige Rolle in kleinen Unternehmen, da viel Betriebssoftware von angestellten Programmierern in GW-BASIC geschrieben wurde – bis hin zu „ausgewachsenen“ Datenbanksystemen, ähnlich, wie heute kleinere Applikationen in Visual Basic geschrieben werden. Ab 1985 wurde es in seiner Bedeutung allerdings zunehmend von Turbo Pascal der Firma Borland verdrängt.

Namensgebung

Woher der Name „GW-Basic“ kommt, bleibt im Dunkeln. Microsoft selbst behauptet, es komme von „Gee Wiz!“ (zu deutsch so ähnlich wie „Potz Blitz!“). Die Initialen „GW“ könnten nach Greg Whitten, einem frühen Angestellten von Microsoft, der für die Standards bei den Microsoft-Basic-Compilern zuständig war, benannt sein. Andere vermuten aber stark, dass der Name GW-Basic nicht zufällig die Initialen des Microsoft-Gründers, BASIC-Förderers und -Fans William „Bill“ Gates enthält, der einen Vorläufer von GW-Basic noch eigenhändig programmiert hatte. Eine weitere Erklärung geht davon aus, dass es sich bei den Initialen GW um die Bezeichnung für „Graphics Workshop“ handelt, da GW-BASIC neue Befehle für Zeichen- und Grafikroutinen mitbrachte (CIRCLE, COLOR, DRAW, PAINT, WINDOW).

Aufbau

GW-BASIC hat wie das original BASIC aus dem Dartmouth College eine kommandobasierte Entwicklungsumgebung. Alle Programmzeilen müssen mit Zeilennummern beginnen. Eingaben ohne Zeilennummer werden direkt ausgeführt. Außer einigen Befehlen, die mit Funktionstasten ausgelöst werden, ist die Benutzerschnittstelle völlig kommandobasiert. Dateien werden normalerweise in einem komprimiertem GW-BASIC-Binärformat, bei dem Befehle mit Bytes verschlüsselt werden, gespeichert. Es gibt aber auch die Möglichkeit, Programme im ASCII-Format zu speichern. In der GW-BASIC-IDE gibt es die Befehle RUN,LOAD,SAVE,LIST,SYSTEM, wobei SYSTEM zur Rückkehr ins Betriebssystem verwendet wird. Obwohl alle diese Befehle auch als Anweisungen in einem Programm verwendet werden können, wird dies mit Ausnahme von SYSTEM nur selten gemacht.

In GW-BASIC gibt es wenig Unterstützung für strukturiertes Programmieren. Deshalb liegt es in der Verantwortung der Programmierer, für eine gute Programmstruktur zu sorgen. Alle bedingten Anweisungen wie IF/THEN/ELSE müssen in einer Zeile geschrieben werden. WHILE/WEND-Anweisungen können über mehrere Programmzeilen gehen. Definitionen von Funktionen müssen in eine einzige Zeile passen. Dazu dient die Anweisung DEF FNf(x)=<Funktion von x> (z. B.: DEF FNLOG(basis,nummer)=LOG(nummer)/LOG(basis)). Der Typ einer Variablen kann meist am letzten Zeichen des Namens erkannt werden: A$ ist eine Zeichenkette (string), A% ist eine ganze Zahl (integer), usw. Durch DEFINT, DEFSTR, usw. Anweisungen kann der Typ einer Variablen abhängig vom ersten Zeichen des Variablennamens zugeordnet werden. Der Standardtyp von nicht deklarierten Variablen, die keinen Typ durch solche Anweisungen erhalten haben, ist eine einfach genaue Gleitkommazahl.

Weil viele GW-BASIC-Programmierer keine Programmierausbildung hatten, sahen sie nicht die Notwendigkeit einer Strukturierung. Deshalb wurden GOTOs nicht als Ersatz für fehlende Kontrollstrukturen, sondern zahlreich und in undisziplinierter Weise verwendet. Siehe unter Spaghetticode.

Möglichkeiten

GW-BASIC konnte mit den damaligen Joysticks und Lichtgriffeln umgehen, jedoch nicht mit einer Maus. (Es ist zwar möglich, eine Maus als emulierten Lichtgriffel zu betreiben, jedoch ist die Zuverlässigkeit der Maus dabei schlecht.) GW-BASIC kann Dateien, LPT Ports und COM-Ports lesen und schreiben. Mit der PLAY-Anweisung kann einfache Musik gespielt werden, wobei die Noten als Zeichenkette eingegeben werden (z. B. PLAY "edcdeee2dfedc4"). Ein Zugriff auf niedrigerer Ebene ist mit der SOUND-Anweisung möglich. Dabei wird die Frequenz in Hertz und die Länge in 'clock ticks' für den Systemlautsprecher angegeben.

Grenzen

Neben der Tatsache, dass die Ansteuerung einer Maus nur über Umwege möglich war, bestand die größte Hürde bei der Verwendung von GW-Basic darin, dass die Programmgröße auf 64 KB begrenzt war. Das völlige Fehlen strukturierter Programmierung macht umfangreichere Programme sehr schnell unwartbar, und daher war diese Sprache für größere Projekte ungeeignet.

Nachfolger

Der Platz von GW-BASIC in der MS-DOS-Distribution wurde später von QBasic, einer abgemagerten Version des getrennt verkauften QuickBASIC, übernommen.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Basic (langage) — BASIC Pour les articles homonymes, voir Basic. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres   Sigles de trois lettres …   Wikipédia en Français

  • BASIC — Información general Paradigma estructurado imperativo Apareció en 1964 Diseñado por John George Kemeny; Thomas Eugene Kurtz …   Wikipedia Español

  • Basic English — Basic English, also known as Simple English, is an English based controlled language created (in essence as a simplified subset of English) by linguist and philosopher Charles Kay Ogden as an international auxiliary language, and as an aid for… …   Wikipedia

  • BASIC — Класс языка: алгоритмическое, процедурное, объектное программирование Появился в: 1963 г. Расширение файлов: .bas Типизация данных: нестрогая Бейсик (от BASIC, сокращение от англ.  …   Википедия

  • BASIC-256 — с …   Википедия

  • Basic AG — Rechtsform Aktiengesellschaft Gründung 1997 Sitz Mü …   Deutsch Wikipedia

  • Basic writing — Basic writing, or developmental writing, is a discipline of composition studies which focuses on the writing of students sometimes otherwise called remedial or underprepared , usually freshman college students. Contents 1 Defining Basic Writing 2 …   Wikipedia

  • Basic-Englisch — Basic English ist eine vereinfachte Form des Englischen, in der lediglich die wichtigsten Wörter der englischen Sprache vorkommen. Die von Charles Kay Ogden im Jahr 1930 geschaffene Englischvariante wird manchmal auch als Plansprache bezeichnet,… …   Deutsch Wikipedia

  • Basic Englisch — Basic English ist eine vereinfachte Form des Englischen, in der lediglich die wichtigsten Wörter der englischen Sprache vorkommen. Die von Charles Kay Ogden im Jahr 1930 geschaffene Englischvariante wird manchmal auch als Plansprache bezeichnet,… …   Deutsch Wikipedia

  • Basic Channel — Moritz von Oswald Mark Ernestus en 2007 au festival MUTEK Surnom Maurizio …   Wikipédia en Français

  • Basic Channel (label) — Basic Channel Basic Channel Moritz von Oswald Mark Ernestus en 2007 au festival MUTEK Alias Maurizio …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”