GFA-Basic Amiga im Test: Programmierter Wahnsinn

Das GFA-Basic für den ST hat einen Bruder bekommen: GFA-Basic Amiga. Die Programmierer bei GFA-Systemtechnik achteten auf eine ähnlich große Befehlsvielfalt wie bei der ST-Version 3.0.

In dem von GFA-Systemtechnik für Amiga-Programme favorisiertem weißen Schuber befindet sich eine Programmdiskette und ein zirka 420 Seiten starkes deutsches Handbuch (natürlich, wurde der Interpreter doch in Deutschland programmiert). Erste erfreuliche Überraschung beim Durchstöbern des Handbuchs: GFA-Basic Amiga stellt sage und schreibe 350 Befehle zur Verfügung. Viel auszuprobieren für einen Basic-Programmierer. Zweite weniger erfreuliche Überraschung: Das Handbuch ist nicht alphabetisch sortiert. Zwar wird das Handbuch nach Befehlsgruppen wie Programmsteuerung, Grafik und Operatoren aufgeteilt, aber auch hierin gibt es keine alphabetische Ordnung. Die findet sich nur im Anhang des Buches, in dem alle Befehle alphabetisch sortiert mit Seitenangaben aufgeführt sind.

Schwerwiegender sind da schon die teilweise komplizierten und unverständlichen Erklärungen des Handbuchs. "Mit DRAW wird ein imaginärer Stift über den Bildschirm bewegt, der relativ zeichnen kann. Dies ähnelt sehr den Grafikbefehlen der Programmiersprache Logo..." Alles klar? Dies steht im Kapitel 8 als Erklärung zu einem der Zeichenbefehle.

"Probieren geht über studieren”. Getreu diesem Wahlspruch schoben wir die Diskette mit dem Interpreter einfach mal ins Amiga-Laufwerk. Nach kurzer Ladezeit ist der 120 KByte große Interpreter geladen und meldet sich mit weißer Schrift auf blauem Hintergrund. Der Interpreter stellt einen eigenen Screen zur Verfügung, den man Amiga-gemäß vor dem Workbench-Screen verschieben kann. Auf dem Screen werden in einer Menüzeile die Funktionen des Interpreters gezeigt. Pull-Down-Menüs gibt es bei GFA-Basic nicht. Alle Funktionen wie Laden, Speichern, Starten von Programmen oder das Beenden des Interpreters werden in der Menüzeile dargestellt.

GFA-Basic wandelt im Gegensatz zu Amiga-Basic grundsätzlich alle Befehle in Großschrift um und schreibt alle Variablen am Anfang groß. Es nimmt automatisch Leerzeichen-Einrückungen vor, wenn in einem Programm Schleifen- und Bedingungs-Konstruktionen Vorkommen (FOR ... NEXT, IF ... THEN ... ELSE). Bei wüsten Verschachtelungen erinnert das Programm eher an Pascal denn an Basic.

An eines muß man sich jedoch gewöhnen: Nur jeweils ein Befehl ist in einer Programmzeile erlaubt. Das Programm wird dadurch übersichtlicher. Entstehen doch keine, bis aufs letzte Zeichen vollgepackten Programmzeilen-Schlangen. die kaum noch zu entschlüsseln sind. Andererseits kommen in Programmen am Anfang oft Vanablenzuweisungen vor. In GFA-Basic sieht das dann folgendermaßen aus: A*1, nächste Zeile, B=2, nächste Zeile, C=3, usw.

Einen sehr hilfreichen Trick haben sich die Programmierer einfallen lassen, um das Programm nicht zu unübersichtlich und lang werden zu lassen. Wer strukturiert programmiert, wird viele Unterprogramme verwenden. GFA-Basic bietet für Unterprogramme sogenannte Prozeduren an. Das sind Unterprogramme, die man statt über einen GOSUB mit Zeilennummer, über einen CALL mit folgendem Prozedurnamen aufruft. Allein durch einen sinnvoll gewählten Prozedurnamen (also statt "PROZEDUR1" besser "ZEICHNEKREIS") weiß der Programmierer beim Durchsehen seines Programms sofort, was das Programmteil macht.

Durch Raster schlecht lesbar: Der File-Requester.

Will man einzelne Prozeduren testen, so kann man alle nicht benötigten Prozeduren verschwinden lassen. Die Programmierer haben die "Programmfaltungen" in den Editor von GFA-Basic eingebaut. Dabei werden alle Programmzeilen, die nach dem Prozedur-Befehl stehen, versteckt. Ein kleiner Pfeil markiert die Stelle an dem das Programm gefaltet wurde, und wo es auf Knopfdruck auch wieder entfaltet werden kann. Ein Programm, das aus vielen Prozeduren besteht, wird öfters gefaltet, schrumpft in seiner Länge und wird übersichtlicher. Die Programmzeilen sind natürlich nicht gelöscht, sondern nur versteckt, so daß sie den Programmierer nicht verwirren. Allem der Prozedur-Name gibt Auskunft über Sinn und Zweck der Unterroutine.

Was auf Dauer lästig erscheint. ist die Zweifarbigkeit des Editor-Screens. Nur blau und weiß ist zu sehen. Wenn ein Programm gespeichert oder geladen wird, erscheint auf dem Bildschirm ein Menü mit den gespeicherten Files der Diskette, ein hellblau gerastertes Menü. Dieses Raster macht die Programmnamen fast unleserlich. Mit vier Farben oder einfach ohne Raster hätte man dieses Problem umgehen können.

Ansonsten läßt sich mit dem Editor flott arbeiten. Wer das langsame Scrollen des Programmtextes vom Amiga-Basic her kennt, wird überrascht. Blitzschnell scrollt der Programmtext am Cursor vorbei. Seitenweises Blättern und Sprünge zum Programm-Anfang oder -Ende sind selbstverständlich ebenso möglich.

# Zeiten der Benchmarks
Programmname Amiga-Basic GFA-Basic Amiga GFA 3.0 (ST)
SCHLEIFE 20,8 Sekunden 7,18 Sekunden 6,18 Sekunden
GRAFIK 163,4 Sekunden 25,8 Sekunden 68,5 Sekunden
MANDEL 38404 Sekunden 9615 Sekunden 5357 Sekunden

Bleibt noch das, womit ein GFA-Basic-Programm geschrieben wird, zu besprechen: die GFA-Basic-Befehle. Man kann nur sagen: Als Programmierer bleibt einem die Spucke weg. Das Amiga-Basic hat schon eine Menge Befehle, mit denen man sehr gut ein gestelltes Problem lösen konnte. Aber beim GFA-Basic ist man fast wunschlos glücklich.

Da gibt es nicht nur die langweiligen Schleifenkonstruktionen wie "FOR ... NEXT" (das jedes Basic kennt) und "WHILE ... WEND" (das schon beim Amiga-Basic sehr nützlich war). Da wimmelt es nur so von Schleifen- und Strukturbefehlen, daß man überhaupt nicht die Lust verspürt, auf andere Programmiersprachen wie Pascal oder Modula-2 zurückzugreifen.

Maus-, Pull-Down-Menü-und Requester-Abfragen (kleine Fenster, bei denen man durch einen Mausklick zwischen zwei Entscheidungen wählen kann) werden voll unterstützt. Und zwar nicht nur mit einer Programmabfrage. sondern auch mit einem Interrupt. So kann der Interrupt ein Unterprogramm aufrufen. Als Interruptquellen sind Zeitzähler vorgesehen. Der Hammer ist der Befehl "FORK”, der ein GFA-Basic-Programm als Prozeß startet, und parallel zum Hauptprogramm laufen läßt (wozu haben wir schließlich ein Multi-Tasking-Betriebssystem).

Voll eingebunden ins GFA-Basic sind auch die Maschinensprache-Routinen des Betriebssystems. Falls es überhaupt je nötig sein sollte, statt der Flut von Basic-Befehlen Maschinensprache zu benutzen. Jede ROM-resistente Routine hat einen eigenen Befehlsnamen.

Außerdem gibt es mit den Grafik-Befehlen nicht nur die normalen Auflösungen mit bis zu maximal 32 Farben, wie sie das Amiga-Basic kennt. GFA-Basic Amiga bietet die komplette Palette an Grafik-Eigenschaften, die der Amiga zu bieten hat. Selbstverständlich sind auch die Modi HAM (Hold and Modify, also 4096 Farben gleichzeitig auf dem Schirm) und EHB darunter (Extra Halfbright, 32 Farben plus die gleichen Farben halber Helligkeit, also 64 Farben auf dem Schirm). Und das Ganze natürlich in allen Auflösungen (sofern der Amiga die Kombinationen technisch unterstützt): 320 x 200 Punkte, 320 x 400 Punkte (interlace), 640 x 200 Punkte und 640 x 400 Punkte (interlace).

Der Fensterrahmen wird für Grafiken mitgenutzt

Ein geöffnetes Fenster unter GFA-Basic beschränkt sich nicht auf die beschreibbare Fläche des eingerahmten Fensterbereichs. Vielmehr kann vom Programm die ganze Fläche zum Zeichnen genutzt werden, auch der Rahmen. Auf diese Weise lassen sich auch eigene Fenster mit individuellen Rahmen gestalten, die sich mal wohltuend vom Fenster-Einerlei des Amiga abheben. Ein weiteres Highlight ist die RCT-Verwaltung. Unter RCT versteht GFA-Systemtechnik "Requester-Construction-Tool". Das sind Befehle, mit denen man unter GFA-Basic eigene Requester-Boxen gestalten kann.

Da man vom Amiga-Basic nicht allzu verwöhnt ist, erscheinen einem die Werte der Programmlaufzeiten geradezu atemberaubend schnell. Die Zeiten liegen nur knapp unter den Zeiten, die das GFA-Basic ST 3.0 für die Programme benötigte. Als Testprogramme haben wir die gleichen Programme genommen, die wir schon in der Ausgabe 9/88 für unseren 16-Bit-Basic Vergleich heranzogen. Es sind dies ein Programm, das 1000 mal eine Berechnung durchführt, ein Programm, das 1000 ausgefüllte Kreise in vier Farben auf dem Bildschirm zeichnet (Auflösung 320 x 200 Punkte, 2 Bit-Planes) und eines, das in vier Farben die Mandelbrotmenge berechnet (Koordinaten: X-min = -2, X-max = 0.5, Y-min = -1.25, Y-max = 1.25, maximal 100 Berechnungen bis die Mandelbrotmenge erkannt wird). In allen Disziplinen war GFA-schneller als Amiga-Basic.

Nach unserem Test können wir GFA-Basic Amiga fast uneingeschränkt jedem empfehlen. Einsteiger sollten sich jedoch vorher Erfahrungen mit dem normalen Amiga-Basic holen, da GFA-Basic teilweise etwas kompliziert ist. Allen anderen sei GFA-Basic Amiga ans Herz gelegt. Einmal programmiert, immer programmiert.

hf

Auf einen Blick

   
Produktname: GFA-Basic 3.0 Amiga
Produktart: Basic-Interpreter
Zirka-Preis: 150 Mark
Hersteller: GFA-Systemtechnik
Handbuch in: deutsch
Umfang in Seiten: 420
Service/Unterstützung: Updates per Registrierkarte
Besonderheiten: unterstützt alle Grafik-Modi, RSC-Befehle

Wertung

   
Befehlsumfang: hervorragend
Variablengenauigkeit: sehr gut
Strukturbefehle: hervorragend
Grafikunterstützung: hervorragend
Geschwindigkeit: sehr gut
Editor-Bedienung: gut
Handbuch Informationsgehalt: sehr gut
Einsteigerfreundlichkeit: ausreichend
Preis-/Leistungsverhältnis: hervorragend

Gesamturteil: hervorragend

HAPPY-COMPUTER vergibt die Wertungen hervorragend, sehr gut, gut, befriedigend, ausreichend und ungenügend. Die Preisangabe beruht auf Informationen des Herstellers und enthalt die gesetzliche Mehrwertsteuer Marktpreise können abweichen


Henrik Fisch
Aus: Happy Computer 12 / 1988, Seite 120

Links

Copyright-Bestimmungen: siehe Über diese Seite