GFA-BASIC
GFA-BASIC ist ein Dialekt der Programmiersprache BASIC, entwickelt von Frank Ostrowski. Die erste Version wurde 1986 vollendet und für den Atari ST herausgebracht. Mitte und Ende der 1980er Jahre wurde die Programmiersprache für diesen Heimcomputer sehr populär, auch weil das ST BASIC, das bei den Computern mitgeliefert wurde, recht fehlerhaft und beschränkt war. Später wurden auch Portierungen für den Commodore Amiga, DOS und Windows vermarktet.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/GFA_BASIC_editor.png/220px-GFA_BASIC_editor.png)
Offiziell sind Interpreter und zugehöriger Compiler, wie sie seinerzeit von der Firma GFA-Systemtechnik vertrieben wurden, heute nicht mehr verfügbar. Von kleinen Entwicklergemeinden gepflegt, existieren jedoch Weiterentwicklungen unter dem Namen GFA-Basic.
Eigenschaften
BearbeitenDie Sprache übernimmt wie viele andere moderne Basic-Dialekte die Kontrollstrukturen von Pascal und C. Damit erlaubt GFA-BASIC strukturiertes Programmieren und zum Beispiel den Verzicht auf den Sprungbefehl „Goto“.
Es fehlen gänzlich die klassischen Zeilennummern, und anfangs war pro Zeile nur ein Befehl erlaubt. In späteren Versionen gab es einen Befehlsseparator, um mehrere Befehle in einer Zeile unterzubringen. Als Sprungmarken dienen analog zu den meisten anderen Programmiersprachen „Labels“, also Zeilen, die einen Sprungmarkennamen enthalten.
Unterprogramme werden analog zu Pascal als Prozeduren und Funktionen definiert, wobei Funktionen im Gegensatz zu Prozeduren einen Rückgabewert haben. Beide akzeptieren Parameter, wahlweise per Wert- oder auch per Referenz-Übergabe. Lokale Variablen sind ebenfalls möglich.
Die Datentypen umfassen bei GFA-Basic für Windows 32-Bit die einfachen Typen: Boolean, Byte, Short, Card, Integer, Long, Handle, Large, Float, Single, Pointer, Currency, Date, String, Fixed-Length-String, Variant; Strukturen (= Types) sind ebenfalls definierbar.
Editor und Interpreter sind ein einziges Programm, welches bereits bei der Programmierung Fehler meldet und Befehle vervollständigt. Ein Run-Only-Interpreter kann den Quellcode unabhängig vom eingebauten Interpreter ausführen. Der GFA-Compiler für das GFA-Basic erzeugt aus dem Quellcode schnellere, ausführbare Programme.
Trivia
Bearbeiten- Die Version 3.x für Windows ermöglicht auch einzeilige Fallunterscheidungen und die Definition von mehrzeiligen Funktionen.
- Eine kostenfreie Version für Projekte bis zu 1000 Zeilen war u. a. über die „Goldene Serie“ von Data Becker zumindest in Deutschland verfügbar.
- Durch Zugriff auf das Windows-API lassen sich mit der 16-Bit-Variante für Windows 3.x noch heute Programme schreiben und kompilieren, die auf alten 32-Bit-Windows-Systemen lauffähig sind.
Geschichte
BearbeitenSeit 1986 existieren auch Versionen für MS-DOS, Windows und Amiga-Betriebssysteme. Für Windows ab Windows 3.0 existieren ein 16-Bit-Interpreter und Compiler sowie ein 32-Bit-Interpreter und Compiler, womit kompakte ausführbare Dateien erzeugt werden können.
GFA-Basic war in den erfolgreichsten Jahren des Atari ST sehr verbreitet, nicht zuletzt wegen des für die damalige Zeit komfortablen Editors, der Neuerungen wie etwa Code-Faltung einführte. Wegen der aus Betriebssystem-Sicht unsauberen Systembibliotheken sowie der nicht in die übliche GEM-Benutzeroberfläche integrierten Entwicklungsumgebung verlor GFA-Basic in den Mittneunzigern an Popularität zugunsten von Turbo C, Pure C und Modula-2.
Die Entwicklung auf der ATARI-Seite wurde von offizieller Seite nach Version 3.6 TT eingestellt, jedoch von engagierten Programmierern ohne Kenntnis des Quelltexts weitergeführt, indem nach und nach die Module der Bibliothek ausgetauscht wurden und der Interpreter und die IDE binär gepatcht wurden. Die inoffizielle und letzte eigenständige Weiterentwicklung des GFA-Entwicklungspaketes stellen die RUN!Lib, der RUN!Only-Interpreter von RUN! Software sowie GBE[1] von Lonny Pursell dar, letzteres wird Stand 2022 noch gepflegt.
GFA-Basic wurde als 16-Bit- (letzte Version: 4.38) und als 32-Bit-Version (letzte Version: 2.30 vom 25. Juli 2001) für die Programmierung unter Windows bereitgestellt.
Seit Ende 2002 reagiert GFA Software Technologies nicht mehr auf Bestellungen und Kundenanfragen, im Sommer 2005 wurde die offizielle Mailingliste ohne Vorankündigung abgeschaltet.
Seit Ende 2006 führt eine kleine Gruppe die Weiterentwicklung der Windows-Version (32-bit) durch. Bei Google entstanden neue Seiten speziell für GFA-BASIC 32 und GFA-BASIC 16.
Siehe auch
BearbeitenLiteratur
Bearbeiten- Bodo Bollow, Klaus Reimann: Die große GFA-Basic Programm-Sammlung, Heim-Verlag, 1986, ISBN 3-923250-48-7
- Uwe Litzkendorf: Das große Gfa BASIC Buch, 3. Auflage, Data Becker, 1987, ISBN 3-89011-222-6
- Ekkehard Kaier, Marc Atkin, Peter Riswick: GFA-Basic-Wegweiser-Komplettkurs, Springer-Verlag, 1988, ISBN 978-3-528-04551-7, ISBN 978-3-663-14109-9
Weblinks
Bearbeiten- Offiziellen Website (offline seit 2002) ( vom 16. Dezember 2003 im Internet Archive)
- Modernisierter Nachfolger "GBE" für Atari ST/TOS-Systeme
- Atari GFA Basic 3 (LST format) to Java 1.0 converter
- Inoffizielle Webseite des GFA-Basic (Atari ST) ( vom 11. März 2017 im Internet Archive)
- X11-Basic — Interpreter und Compiler mit Grafik und einer Syntax ähnlich der Atari ST Implementation des GFA Basic.
- http://ebook.pixas.de/ Große Sammlung von freigegebenen GFA-Büchern im PDF-Format für Atari / Amiga / MS-DOS
Umfangreiche Sammlungen von Programmierbeispielen sind frei für die Atari- und Windows-Versionen verfügbar:
- www.gfawhelp.gfa.net - 16 und 32 Bit, umfangreich, wird aber evtl. bald abgeschaltet (englisch)
- www.rowalt.de/pc/gfabasic/listd.htm - 16-Bit, sehr umfangreiche Listing-Sammlung (deutsch und englisch)
- www.joehurst.de 16- und 32-Bit für Windows (deutsch)
- gfa-basic.liebenstein.de (kein update mehr seit 2005(?))
Die Windows-Versionen: auf den Seiten gibt es entsprechende Downloads der Interpreter sowie neue Informationen, Patches, Software etc.
- GFA-BASIC 16 http://gfabasic16.googlepages.com/
- GFA-BASIC 32 http://gfabasic32.googlepages.com/
- GFA-BASIC 32 https://gfabasic32.blogspot.com/
Konverterprogramm für GFA-WIN 16-Bit Sources nach VB.Net