Test: GFA-Basic 1.0

»Klare Sache: Basic ist langsam«. Wenn Sie dieser Meinung sind, kennen Sie nicht die beiden neuen Basic-Interpreter zum Atari ST.

Für den ST gab es bisher nur den Atari-Basic-Interpreter. Durch niedrige Ablaufgeschwindigkeit, viele Fehler und vier Fenstern, die sich mehr zum Herumspielen als zum Programmieren eignen, hat er keine Begeisterung unter ST-Besitzern hervorgerufen. Allerdings gibt es für den ST bereits eine stattliche Anzahl Compiler leistungsfähigen Programmiersprachen. Aber: Wer nur ab und zu mal programmiert, beherrscht oft Basic. Meist genügt ihm das auch. Außerdem hat der »Ab-und-Programmierer selten Zeit und Lust sich in eine leistungsfähigere und oft auch kompliziertere Sprache zuarbeiten. Warum soll er das auch? Auf einem solchen »Super-Computer« mit dem schnellen 68000-Prozessor muß doch auch ein schneller Basic-Interpreter laufen! Wer auf den Beweis für diese Vermutung gewartet hat, kann aufatmen. Frank Ostrowski hat wieder mal zugeschlagen. Den Besitzern der 8-Bit-Computer von Atari, bestens bekannt durch sein Turbo-Bbasic (Listing des Monats in Happy-Computer 12/85 und Atari-Sonderheft), hat er jetzt GFA-Basic für den ST programmiert.

Novum für einen Interpreter

Uns lag die verkaufsreife Version 1.0 zum Test vor. Auf der Diskette befanden sich nur vier Dateien: der Interpreter, ein Runtime-Modul, die »Readme«-Datei, sowie ein STKILL- Programm. Der Umfang von knapp 54 KByte ist für einen Interpreter gering, besonders wenn man mit dem 138 KByte Atari-ST-Basic vergleicht.

Das Runtime-Modul ist normalerweise nur für den Ablaufcode eines Programmes nötig, der von einem Compiler erzeugt wurde. Es enthält Standardfunktionen, die ein compilierter Programmcode aufruft. Für einen Interpreter stellt ein Runtime-Modul ein Novum dar. Bei dem GFA-Basic vereinfacht das Runtime-Modul die gewerbliche Nutzung von Programmen. Verkauft man ein Programm, muß sich der Käufer normalerweise auch den jeweiligen Interpreter kaufen. Nicht beim GFA-Basic! Der Käufer kann mit dessen Runtime-Modul das Basic-Proaramm ablaufen lassen, wenngleich er keine Änderungen vornehmen kann. Es fehlt einfach der Editor. Sollten ganz Schlaue auf die Idee kommen, einfach einen anderen Editor zu benutzen und den Programmtext trotzdem mit dem Modul starten zu wollen, geht das natürlich nicht.

Weiterhin befindet sich das Programm »STKILL« auf der Diskette. Es entfernt die Zeilennummern von Atari-Basic-Programmen.

Anleihe bei Pascal

GFA-Basic arbeitet ohne Zeilennummern. Es vereinigt Strukturelemente aus Pascal und Basic und bietet Labels. Diese Labels kennt man auch aus dem Atari-Basic. Das sind frei wählbare Bezeichnungen mit anschließendem Doppelpunkt, und schon erfüllen sie denselben Zweck wie eine nichtssagende Zeilennummer.

Kompatibel zum Atari-Basic ist das GFA-Basic leider nicht. Wer sich in die Programmierung des Basic-Interpreters eingearbeitet hat, profitiert davon leider nur sehr wenig für die Arbeit mit GFA-Basic.

Integriert ist auch bei GFA-Basic ein Editor. Er bietet viel. Da er nicht unter GEM arbeitet, also das zeitraubende Fensterhandling entfällt, ist er sehr schnell. Abkürzungen erhöhen zusätzlich die Zeitersparnis bei der Programmeingabe. Für die meisten Befehle genügen zwei Buchstaben. Nachdem man auf die Return-Taste gedrückt hat oder mit dem Cursor in eine andere Zeile gewandert ist, erscheint das Befehlswort in voller Länge.

Auf das Einrücken innerhalb von Schleifenbefehlen braucht man nicht zu achten. Das macht der Editor von selbst. Auch nach dem Einfügen von zusätzlichen Schleifenbefehlen rückt er alle Zeilen, die umschlossen werden, beim Scrollen oder Überfahren mit dem Cursor automatisch um zwei Leerzeichen ein. Aus diesem Grund darf in jeder Zeile allerdings auch nur ein Befehl stehen. Einen Doppelpunkt setzen und mehrere Befehle in dieselbe Zeile schreiben, wie bei anderen Basic-Dialekten gewohnt, ist hier nicht erlaubt.

Wie der Autor des Handbuches ausführt, war das auch der besseren Übersicht wegen sinnvoll, pro Zeile nur noch einen Befehl zu gestatten.

Mini-GEM

Ganz verzichtet Frank Ostrowski nicht auf die Maussteuerung. Alle Befehle, die in der Menüleiste stehen, kann man durch die linke Maustaste oder Funktionstasten ansprechen. Da die meisten bereits aus Textverarbeitungen bekannt sein dürften, hier nur einige außergewöhnliche Befehle. »Text 16« schaltet auf 26 Zeilen Textanzeige um. »Text 8« halbiert die Schrifthöhe und läßt 46 Textzeilen pro Bildschirm zu. »Direct« aktiviert den Direkt-Eingabemodus. Mit »Test« prüft das Programm, ob alle Schleifen geöffnet und geschlossen sind. Zwischen dem Ausgabe- und Editor-Bildschirm wechselt man mit »Flip« hin und her.

Bunte Befehlspalette

Alle Befehle in der unteren Reihe ruft man mit einer Funktionstaste auf, die Befehle in der obereren Reihe durch Drücken von Shift und der jeweiligen Funktionstaste. Eine leere Zeile schafft man sich mit der Insert-Taste. Nur auf diese Weise lassen sich Befehle einfügen. Alle Zeilen ab der Cursorposition werden dann um eine Zeile nach unten gescrollt. Einen Befehl vor einen vorhandenen einzufügen, und dann mit Return in die folgende Zeile zu übertragen, funktioniert leider nicht. Hat man sich an diese Eigenarten gewöhnt, geht die Eingabe sehr flott. Die Befehlsvielfalt des Interpreters beeindruckt. Sie reicht von einer stattlichen Anzahl Grafikbefehlen bis zur unkomplizierten Ansteuerung des Tastaturprozessors, die in vielen anderen Compilern großen Aufwandes bedarf und manchmal nur mit Maschinencode- Unterstützung machbar ist. Eine Anleihe an Pascal kann das GFA-Basic nicht verleugnen. Da ist die Einschränkung, pro Zeile nur einen Befehl zu schreiben, da gibt es Prozeduren mit lokalen Variablen und Einrückungen innerhalb Schleifen, sowie Befehle wie UPPER$. Mit UPPER$ kann man alle Kleinbuchstaben einer Zeichenkette in Großbuchstaben umwandeln. Das ist vor allem bei Sortierroutinen sehr hilfreich. GFA-Basic verfügt auch über eine ganze Anzahl Grafikbefehle. Sie reichen von solchen zur Definition eines Mauszeigers, den man auch als Sprite über den Bildschirm huschen lassen kann, über CIRCLE, BOX, ELLIPSE. Diese Figuren kann man wahlweise auch mit einem frei definierbaren Muster füllen. Dateien lassen sich entweder sequentiell oder relativ ansprechen. Das ist zwar selbstverständlich für eine ver- nünftige Programmiersprache, nicht selbstverständlich hingegen sind die Befehle, um Satzpointer zu verschieben. Damit kann man sehr tief in die Datenverwaltung auf der Diskette eingreifen.

Fenster am Gängelband

Eine gute Hilfe beim Programmtest bieten die imaginären Dateien »CON:«, »LST:« oder »PRN:«, »AUX:«, »MID:«, »VID:« sowie »IKB:«. »CON:« steht für Konsole, also den Bildschirm, »LST:« und »PRN:« bezeichnen den Drucker, »AUX:« die serielle Schnittstelle, »MID:« sind die MIDI-Ports. Besonders interessant, weil selten und hilfreich, ist »VID:«. Dabei gibt das Programm an eine Datei gesendete Steuerzeichen auf dem Bildschirm aus, aber ohne sie auszuführen. Fehlern bei der Datenübertragung kann man damit auf einfache Weise auf die Spur kommen. Mit »IKB:« spricht man den 6301-Tastatur-Prozessor direkt an. Was immer wieder beeindruckt, ist nicht die Vielfalt des Machbaren. sondern wie einfach man alles Anwenden kann. Im Vergleich zu anderen Programmiersprachen ist das wirklich eine Sprache für Anfänger. Trotzdem hat sie aber die Befehlsvielfalt, um auch den Ansprüchen von fortgeschrittenen Hobby-Programmierern zu genügen.

Maximal vier Bildschirmfenster lassen sich aufrufen. Die Plazierung ist leider nicht wahlfrei, sondern die Anfangskoordinaten eines jeden Fensters sind festgelegt. Sie erhält man, wenn man sich den Bildschirm geviertelt vorstellt. Auch die Größe läßt sich nicht einfach mit der Maus verändern. Man definiert sie mit dem »OPEN«-Befehl.

Ein Alert-Fenster zaubert man zwar mit dem Befehl »Alert« in Sekundenschnelle auf den Bildschirm. Auch Menübalken und Pull-Down-Menüs sind Funktionen, die sogar ein Anfänger leicht anwenden kann, aber tiefergehende GEM-Anwendungen bringen Probleme. Im Anhang E des Handbuchs widmet der Autor unter dem Titel »Sonderfunktionen/Sonstiges« diesem Thema vier Seiten. Für einen Laien sind diese Ausführungen aber unverständlich. Mit einem kurzen Beispielprogramm von fünf Zeilen Länge kann man diese Problematik unmöglich verständlich erläutern.

In dem sonst guten Handbuch ist das der einzige große Schwachpunkt.

Ein kleiner Kritikpunkt: Bei der Referenzliste der Befehle findet man weder eine Syntaxbeschreibung noch eine Kurzbeschreibung. Gerade für den Anfänger, an den sich Basic ja vordringlich richtet, wäre damit gut gedient.

Das 136 Seiten dicke Handbuch enthält für jeden Befehl eine ausführliche Beschreibung. Sie gliedert sich in eine Beschreibung der Syntax, der Abkürzung, ein kleines Beispielprogramm, eine Kurzbeschreibung, sowie eine ausführliche Beschreibung, die sich zum Teil über zwei Seiten erstreckt. Leider arbeitet nicht jedes der Beispielprogramme. Aber welches neugeborene Handbuch leidet nicht bis zum ersten Update an Kinderkrankheiten? Ansonsten kann man das Handbuch durchaus als beispielhaft bezeichnen. Für 149 Mark erhält man einen Basic- Interpreter, mit dem man seinen Atari ST ganz schön ausreizen kann. Der Hersteller hat auch bereits einen Compiler angekündigt, der zu dem Basic-Interpreter kompatibel sein soll. Interessant wird ein Laufzeitvergleich zwischen dem Interpreter und dem Compiler. Der Preis wurde mit 149 Mark angegeben und liegt damit erfreulich niedrig. Als voraussichtlicher Liefertermin ist Ende August im Gespräch.

Konkurrenz in Sicht

Aber GFA-Basic ist nicht der einzige Basic-Interpreter für den ST. Einen ersten Blick durften wir auf das Omikron-Basic werfen, das sich noch in der Entwicklung befindet. Es ist kompatibel zu MBasic. Das heißt es verwendet die altbekannten Zeilennummern und gestattet mehrere Befehle in einer Zeile zusammenzufassen. Beeindruckend waren einige Benchmarktests. In der Ablaufgeschwindigkeit bekommt der GFA-Interpreter einen starken Konkurrenten. Ob die endgültige Version bei der Befehlsvielfalt mithalten kann, ließ sich in diesem Stadium der Entwicklung noch nicht beurteilen.

Bei der Rechengenauigkeit weist es Vorteile auf. Bei Redaktionsschluß hieß es, die Markteinführung finde Ende August statt. Um Raubkopierern keine Chance zu geben und das Ladetempo zu erhöhen, bietet der Hersteller den Basic-Interpreter nur auf ROM an. Der Verkaufspreis soll zwischen 170 DM und 200 DM liegen.

Bisher war für den Basic-Programmierer der Atari ST noch ein Porsche mit angezogener Handbremse. Das Atari-Basic konnte der Hardware in keiner Weise gerecht werden. Mit den beiden neuen Basic-Interpretern hat sich das geändert. Auch ohne Pascal, C oder Assembler kann man aus seinem ST einiges herauskitzeln.

(hb)



Aus: Happy Computer 09 / 1986, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite