- GfA-BASIC
-
GFA-BASIC ist ein Dialekt der Programmiersprache BASIC. Die Sprache übernimmt wie viele andere moderne Basicdialekte von Pascal und C die Kontrollstrukturen und erinnert daher fast ein wenig an Fortran. Damit erlaubt auch GFA-BASIC strukturiertes Programmieren (siehe zum Beispiel Programmieren ohne Goto).
Inhaltsverzeichnis
Eigenschaften
Es fehlen gänzlich die klassischen Zeilennummern, daher ist pro Zeile nur ein Befehl erlaubt (in späteren Versionen gab es dann auch Befehlsseparator, um mehrere Befehle in einer Zeile unterzubringen). Als Sprungmarken dienen analog zu den meisten anderen Programmiersprachen Labels, also Zeilen, die einen Sprungmarkennamen enthalten. Die Verwendung von Sprungmarken gilt allerdings nach wie vor als schlechter, weil unübersichtlicher Programmierstil.
Unterprogramme werden analog zu Pascal als Prozeduren und Funktionen definiert, wobei Funktionen im Gegensatz zu Prozeduren einen Rückgabewert haben. Beide dürfen Parameter übergeben bekommen, sowohl pass-by-value wie pass-by-reference. 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 RunOnly-Interpreter (für ATARI, Amiga, MS-DOS, Windows 3.x) kann die (in einem gesonderten Format gespeicherten) Quelltexte auch unabhängig vom echten Interpreter ausführen und ein Compiler schnellere, ausführbare Programme erzeugen. 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 compilieren, die auf allen Versionen von Windows (incl. XP) lauffähig sind.
Geschichte
Entwickelt wurde GFA-Basic von Frank Ostrowski im Jahr 1986 für Atari ST Computer. Es existieren auch Versionen für MS-DOS, Windows, Unix 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 sehr kompakte ausführbare Dateien erzeugt werden können.
GFA-Basic war in den erfolgreichsten Jahren des Atari ST sehr verbreitet, vor allem, aber nicht nur im Public-Domain-Bereich. Aufgrund der aus Betriebssystem-Sicht unsauberen Libraries von GFA-Basic sowie der nicht in GEM realisierten IDE verlor GFA-Basic in den Mittneunzigern jedoch an Popularität, zugunsten von TurboC, PureC 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/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 von ENCOM dar. Ferner gibt es noch einen von Grund auf neu geschriebenen, aber noch nicht ganz fertigen Programmiereditor.
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 dann die offizielle Mailingliste ohne Vorankündigung abgeschaltet. Daraufhin haben die aktiven Anwender der ehemaligen GFA-Basic-Mailingliste eine neue Community gegründet, um sich dort gegenseitig weiterzuhelfen: gfa-basic.liebenstein.de.
Seit Ende 2006 führt eine kleine, engagierte Gruppe die Weiterentwicklung der Windows-Version (32-bit) durch. Bei Google entstanden neue Seiten speziell für GFA-BASIC 32 und GFA-BASIC 16, die laufend gepflegt werden. Die entsprechenden Links finden sich weiter unten.
Siehe auch
Literatur
- B. Bollow, K. Reimann: Die große GFA-Basic Programm-Sammlung, Heim-Verlag, 1986, ISBN 3-923-25048-7
- Uwe Litzkendorf: Das große Gfa BASIC Buch, Data Becker, 1987 (3. Auflage) , ISBN 3-890-11222-6
Weblinks
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.people.freenet.de/p.hinz.kunz - 32-Bit, auch neuere Listings (Deutsch und Englisch)
- www.rowalt.de/pc/gfabasic/listd.htm - 16-Bit, sehr umfangreiche Listing-Sammlung (Deutsch und Englisch)
- www.baphead.freeserve.co.uk - 16-Bit (Englisch)
- www.joehurst.de 16- und 32-Bit für Windows (Deutsch)
- RUN! Software 16- und 32 Bit für Atari ST, alternative Entwicklungsumgebung, Application-Builder, Runonly-Interpreter, fehlerbereinigte Bibliothek mit neuen Funktionen (Deutsch)
- www.rgfsoft.com 16- und 32 Bit für Atari ST, alternative Entwicklungsumgebung, Compiler, Linker, Bibliotheken (Deutsch)
- deutsche Literatur
- gfa-basic.liebenstein.de
Die Windows-Versionen... Auf den Seiten gibt es entsprechende Downloads der Interpreter sowie neue Informationen, Patches, Software etc...
Wikimedia Foundation.