Microsoft gibt GW-Basic als Open Source frei

[English]Noch eine kleine Info am Rande. Microsoft hat den Quellcode des GW-Basic-Interpreters, der in den Frühzeiten auf IBM-PCs ausgeliefert wurde, im Umfeld der BUILD 2020-Entwicklerkonferenz als Open Source freigegeben.


Anzeige

Wahrscheinlich erinnern sich nur die Älteren unter den Blog-Lesern noch an die Zeiten, als die ersten IBM-PCs und die kompatiblen PCs in Europa ausgeliefert wurden. Der erste IBM PC/XT mit 8088-Prozessor, der nach Europa kam, lief irgendwann über meinen Schreibtisch. Gab seinerzeit fotokopierte Dokumentation von IBM, weil Bill Gates mit seiner damals kleinen Firma Microsoft die Handbücher nicht fertig hatte – die kamen Wochen später. Auf allen IBM-PC-kompatiblen Systemen war damals ein Basic-Interpreter im ROM mit dabei.

Wer sich für die Details interpretiert, findet in der Wikipedia einige Details. Laut Wikipedia wurde GW-Basic zwischen 1983 und 1991 als Bestandteil des Betriebssystems MS-DOS bis Version 4.02 vertrieben. Danach ersetzten QBasic und das später herausgekommene QuickBASIC den GW-Basic-Interpreter. Das war die Zeit, als Borland mit seinem Turbo-Pascal Furore machte. Daher adressierte eines meiner ersten, 1989 erschienenen Bücher seinerzeit Microsofts QuickBasic (die anderen beiden Titel bezogen sich auf Borlands Turbo-Pascal und Turbo-Basic).

GW-Basic als Open Source

Über nachfolgenden Tweet bin ich darauf gestoßen, dass Microsoft jetzt den Schritt macht und den Quellcode als Open Source frei gibt.

Die Assembler-Quelltexte der 8088-Portierung für MS-DOS von 1983 wurde am 22. Mai 2020 unter der MIT-Lizenz veröffentlicht. Microsoft hat das Ganze in diesem Blog-Beitrag beschrieben. Hintergrund für die Freigabe sind mehrfache Anfragen der Nutzerschaft, neben MS-DOS auch die Basic-Portierung als Open Source zu erhalten. Im Microsoft-Beitrag finden sich auch einige Informationen zum historischen Kontext. Der Quellcode von GW-Basic ist auf GitHub abrufbar.


Anzeige


Dieser Beitrag wurde unter Allgemein abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

4 Antworten zu Microsoft gibt GW-Basic als Open Source frei


  1. Anzeige
  2. Andreas sagt:

    Ich habe seinerzeit (ca. 1989 während meiner Ausbildung, auf einem Firmenrechner) auf einem IBM-kompatiblen Ericsson PC/AT mit GW-Basic herum experimentiert. Mein eigener Rechner zu Hause war ein Atari 1040 ST (dort habe ich mit GFA-Basic programmiert, RIP Frank Ostrowski). Meine Erinnerungen an GW-Basic:

    * Seeeehr langsam.
    * Geschachtelte Schleifen waren nicht möglich.
    * Rekursive Aufrufe von Unterprogrammen scheiterten daran, dass es keine lokalen Variablen gab.
    * Es gab einfach verwendbare Grafikbefehle.

    Ich hätte nie gedacht, dass dieser schnarchlangsame Interpreter in ASSEMBLER programmiert wurde. Das ebenfalls in Assembler programmierte GFA-Basic auf meinem Atari war dagegen pfeilschnell.

    Als ich eines meiner ersten Programme, eine Mastermind-Variante, von GFA- nach GW-Basic portieren wollte, musste ich meine geschachtelten WHILE-Schleifen durch GOTO-Befehle ersetzen. Und bei der Portierung eines rekursiven Algorithmus musste ich selbst einen Stack implementieren, um lokale Variablen zur Verfügung zu haben.

    Alles in allem hinkte GW-Basic seiner Zeit quasi um Lichtjahre hinterher, so wie andere der damaligen Microsoft-Produkte auch (z.B. DOS und Windows). Hätte diese Firma nicht den berühmten Vertrag mit IBM gehabt, würde sie heute wohl keiner mehr kennen.

    • 1ST1 sagt:

      GWBasic mit GFA-Basic zu vergleichen ist auch irgendwie wie VW-Käfer mit VW-Golf zu vergleichen. Nannte sich beides zwar BASIC, aber hatte sonst wenig mit einander zu tun, weil eben das eine mit Zeilennummern arbeitete, das andere mit Prozeduren und Funktionen. In einem Zeilennummern-basierten BASIC kann es keine lokalen Variablen geben, weil es keine Funktionen und Prozeduren gibt.

      Man müsste wenn schon GWBasic mit Omikron-Basic vergleichen, das arbeitete wahlweise mit Zeilennummern, oder GFA-Basic mit QuickBasic, aber selbst da schnitt GFA noch besser ab. Der GFA-Basic-Killer (es gab in denn 1990ern auch eine Windows-Version davon) war dann Visual-Basic,ich kenne ein paar Leute, die ihren GFA-Code (mit entsrechenden Fehlermeldungen) in Visual importiert und nach und nach angepasst haben, zunächst Syntax damit es überhaupt lauffähig wurde, später dann mit immer besserer Windows-Integration.

      • Andreas sagt:

        GW-Basic hatte einen GOSUB-Befehl wie viele andere Basic-Dialekte vor ihm auch, es gab also schon das Konzept der Unterprogramme, nur eben ohne lokale Variablen. Ob ein Unterprogramm über seine Zeilennummer oder seinen Namen aufgerufen wird ist für das Konzept der lokalen Variablen im Prinzip unerheblich.

        GW-Basic war halt auf dem Level der alten Basic-Dialekte stehengeblieben, und das obwohl es WHILE-Schleifen und andere fortschrittliche Befehle anbot. Das war auch meine eigentliche Kritik: Es gab zeitgleich schon längst bessere Basic-Varianten, die leistungsfähiger UND schneller waren.

  3. Bernard sagt:

    Ja, die “gute” alte Zeit, in der Microsoft so einen Schwachsinn wie EDLIN auslieferte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.