Face to Face - Neues zu BASIC auf dem ST

Das "ST-BASIC" wird ab sofort vom OMIKRON-BASIC abgelöst. Seit 26.6.1988 besteht ein Vertrag zwischen ATARI-Deutschland und der Firma OMIKRON, daß ab sofort bei jedem neuerworbenen ATARI ST die Version 3.0 des Omikron-BASIC-Interpreters kostenlos mitgeliefert wird. Einige europäische Länder (Österreich, Benelux-Staaten, Skandinavien, Jugoslawien, Schweiz, evtl. auch Frankreich) folgten bereits dem Vorreiter Deutschland, und so soll sich dieses BASIC in den nächsten Monaten zur Standard-Programmiersprache der ST-Reihe durchsetzen. Um die Entwicklung zu beschleunigen, wird ATARI dieses BASIC für 19.90 DM an diejenigen "verschenken", die noch unter die Auslieferung des (METACOMCO-) ST-BASICs fielen.

Doch nicht nur zum OMIKRON.-BASIC gibt es Neuigkeiten, denn wir haben noch ein paar Ergänzungen zum GFA-BASIC 3.0, die wir Ihnen nicht vorenthalten wollen. Ferner stellen wir Ihnen den HiSoft-Compiler vor.

OMIKRON V3.0 - V 2.0 im neuen Kleid?

Gleich eine Bemerkung vorweg: OMIKRON V3.0 heißt im Gegensatz zu GFA 3.0 nicht, daß das BASIC um viele Befehle erweitert wurde. OMIKRON V3.0 präsentiert sich nur in einem neuen Kleid und nennt sich jetzt "3.0", auch weil es nun von ATARI zur ST-Reihe mitgeliefert wird. Es wurde von OMIKRON deshalb verwirklicht, um ein fehlerfreies (!) Produkt zu garantieren.

Editor

Beim Test der Vorabversion des Interpreters 3.0 waren wir vom neuen FULL-SCREEN-EDITOR angenehm überrascht. Wird der etwa 106 KByte lange Interpreter gestartet, meldet er sich wie bei Version 2.0, und der Bediener kann darauf mittels HELP-Taste direkt in den Editor gelangen, ohne mühsam "E.D.I.T." eintippen zu müssen, was jedoch für "Konservative" nach wie vor funktioniert.

Der OMIKRON-Vorbelastete wird sofort die selbst programmierte PSEUDO-GEM-Menüzeile mit FILE, FIND, BLOCK, MODE, GO und RUN bemerken, die sich optisch von der GEM-Leiste unterscheidet (Bild 1). Das Aufklappen der Pull-Down-Menüs erfolgt wesentlich schneller und vor allem "sicherer" als bei der Original-GEM-Leiste. Der oberste Menüeintrag in der Kopfzeile läßt sich ohne Mausbewegung anklicken, womit das Hin- und Her-Gefahre zwischen Kopfzeile und oberstem Eintrag entfällt, Mit der rechten Taste kann das Menü verlassen werden und der Cursor ist auch bei aufgeklappter Menüleiste voll einsatzbereit.

Rechts oben in der Kopfleiste werden Programmname, Programmlänge und Cursor-Koordinaten angezeigt, was beim Erstellen von Eingabemasken (falls nicht gleich der OMIKRON-Maskeneditor dazugekauft wurde) eine große Hilfe darstellt.

Jeder Programmierer hat eigene Bedürfnisse, und deshalb wurde der Menüpunkt "MODE" implementiert, mit dem vieles individuell manipuliert werden kann. Um die Augenärzte von einer übermäßig ansteigenden Zahl von sehgeschädigten Programmierern zu entlasten, wurden nur noch die mittlere (10444) und die große Schrift eingebaut (8025). Ein horizontales Splitting in zwei voneinander unabhängige Bildschirme, deren Größe selbst festgelegt werden kann, kann ebenfalls aktiviert werden. Ferner läßt sich das Blinken fehlerhafter Zeilen ein- bzw .ausschalten.

Fünf Tasten (F4, SF4, F5, SF5, rechte Maustaste) können mit bestimmten Makros belegt werden, von einfachen Texten bis zum Anklicken von Menüzeilen, komplizierten Ersetz-Kommandos usw. Auf jede Taste dürfen bis zu 64 Zeichen (bzw. Mausklicks) gelegt werden, was ausreichen dürfte. Diese Makros können abgespeichert werden und stehen bei Neuladen des Interpreters wieder zur Verfügung.

Mancher Commodore 64 oder GFA-BASIC-verwöhnte Programmierer war beim Umstieg genervt, daß es keine Befehlsabkürzungen gab. Im Gegensatz zum Interpreter V2.0 ist es jetzt möglich, vordefinierte Befehlsworte über die Tastenkombination [Alternate]+Buchstabe schnell und ohne Tippfehler in Kurzform einzugeben (zum Beispiel [ALT]+P für Print). Diese Abkürzungen funktionieren sowohl im EDITOR als auch im Direktmodus.

Zum schnelleren Auffinden von Stellen im Programm können bis zu vier Marken gesetzt werden.

Endlich lassen sich auch die Block-Funktionen im Editor leicht handhaben. Ähnlich 1st_Word kann mit der Maus ein Block festgelegt werden. Dies ist im Gegensatz zu GFA nicht auf ganze Zeilen beziehungsweise Zeilenenden beschränkt, sondern kann innerhalb einer Zeile auch einzelne Buchstaben umfassen.

Das Kopieren und Verschieben von Blöcken stellt im Vergleich zu früher (über Funktionstasten) kein Problem mehr dar, sondern geht kinderleicht. Ansonsten sind die Standardfunktionen wie Löschen, Abspeichern, Verschieben und Ausdrucken von Blöcken implementiert.

Ein weiterer Leckerbissen ist die zusätzlich zu den normalen Such- und Ersetzfunktionen eingebaute Token-Edier-Hilfe. Kurze Erklärung des Wortes 'Token': Ein Token ist eine Zahl, in die ein Interpreter einen Befehl oder eine Variable codiert, im Speicher ablegt und bei Bedarf dann wieder in Klartext zurückverwandelt. Das Suchen nach Tokens hat den Vorteil, daß keine Text- oder Prozedurnamen gefunden werden. (Bei Suche der Variablen A erscheint zum Beispiel nur A=5 etc., aber nicht "Haushalt", Proc Banner usw.)

Ein besonderes Plus ist die hohe Scrollgeschwindigkeit des Editors. Es wird der ganze Bildschirm zeilenweise gescrollt und nicht wie beim "alten" (Version 2.0) manchmal nur ein Teil des Bildschirms. Die Scrollgeschwindigkeit ist abhängig vom Tastatur-Repeat, der im Kontrollfeld eingestellt werden kann. Bei höchster Geschwindigkeit (man sollte damit NICHT arbeiten), läßt sich der Editor nur noch mit Mühe beherrschen und die Augenärzte dürften dann wohl bald eine "Ultraschnell-Seh-Brille" erfinden oder mit besseren Umsätzen rechnen.

Am einfachsten ist es, sein Programm über die Tastenkombination [Control]+R zu starten. Aber es kann auch in der Menüleiste der Menüpunkt "RUN" aufgezogen werden, wobei acht verschiedene Untermenüpunkte angewählt werden können. "RUN" entspricht der oben genannten Tastenkombination, "SAVE & RUN" speichert das Programm vor dem Start noch einmal zu Sicherheit ab, und vermeidet so Programm-Verluste bei Abstürzen. "TRON & RUN" bewirkt wie der Befehl TRON, daß immer die Zeilennummer des gerade ausgeführten Befehls auf dem Bildschirm angezeigt wird. Ansonsten ruft der Untermenüpunkt "COMPILE" den Compiler auf und compiliert das Programm, der Punkt "SAVE & COMPILE" macht das gleiche, speichert aber sicherheitshalber erst das BASIC-Listing ab. Soll ein Programm neu eingeladen und dann sofort gestartet werden, ist man mit "RUN *.BAS" gut bedient, wobei aber nicht vergessen werden darf, daß ein sich im Speicher befindliches Programm von dem neu eingeladenen überschrieben wird.

Der Punkt "ACCES-SORY", den es auch im GFA-V3.0-Interpreter gibt, dient dazu, Accessories aufzurufen. Um GFA ein Stück voraus zu sein, ist noch der nützliche Eintrag "EXEC *.PRG" hinzugekommen, der es erlaubt, beliebige Programme vom Editor aus zu starten. So ist es mit dieser Funktion möglich, zum Beispiel 1ST_WORD aufzurufen, einen Brief zu schreiben, und anschließend weiter an seinem Programm zu grübeln. Sicherheitshalber sollte trotzdem das zu bearbeitende Programm während eines solchen Exkurses abgespeichert werden - nur für den Fall, daß ein aufgerufenes Programm abstürzt oder sich nicht ordnungsgemäß abbrechen läßt.

Etwas NICHT alltägliches bietet der Menüeintrag DIRECTORY (unter FILE), mit dem das Directory der Diskette bzw. Festplatte ZWEISPALTIG mit Datum und Filegröße gut übersichtlich dargestellt wird.

Fünf neue Befehle

Zur Version 2.0 sind offiziell nur fünf neue Befehle hinzugekommen (inoffiziell gibt es mehr, die weder hier noch im Handbuch veröffentlicht werden, solange nicht absolute Fehlerfreiheit von OMIKRON gewährleistet ist). Viele Gründe sprechen dafür, ein BASIC, das fehlerfrei funktioniert, nicht völlig umzustrukturieren, da sich sonst einige Fehler einschleichen können (siehe GFA-V3.0), denn: "Nobody is perfect".

Fürs OMIKRON soll es weitere Libraries (bis jetzt gibt es: ISAM-LIB, STAT-LIB, NUMERIK-LIB, GEM-LIB, MIDI-LIB...) geben, die die Befehlsfülle um viele Befehle erweitern. Die im V3.0 hinzugekommenen Befehle dienen hauptsächlich der Grafik-Programmierung. TEXT ROTATION=Winkel(0-3599) bewirkt für den Befehl TEXT eine Drehung des ausgegebenen Textes um den angegebenen Winkel. Die Drehung erfolgt GEM-bedingt nur in 90-Grad-Schritten. Die zwei ähnlichen Befehle LINE PATTERN= und FILL PATTERN= geben dem Benutzer die Möglichkeit, Linien und Füll-Stile selbst zu definieren, wobei mit LINE WIDTH=Breite die Linienbreite festgelegt werden kann.

Ein besonderer Reiz liegt im Befehl NDC. Die Syntax lautet: NDC X-Koordinate, Y-Koordinate, Breite, Höhe. Mit diesem Befehl lassen sich relative Koordinaten definieren. Wendet man den Befehl "NDC 0,0,640,400" an, liegt in der linken oberen Ecke der Punkt (0;0) und in der rechten unteren Ecke des Bildschirms der Punkt (32767;32767). Legt man aber zum Beispiel ein Fenster von 320*200 Punkten in der Bildschirmmitte an (NDC 180,100,320,200), so liegt am Punkt (180; 100) der relative Ursprung (0;0) und am Punkt (500;300) der relative Punkt (32767;32767), was bedeutet, daß man Programme mit relativen Koordinaten schreiben kann, die dann in allen Färb-/ Mono-Auflösungen oder auf 19-Zoll-Monitoren nach einer Zeile Anpassung einwandfrei funktionieren, ohne an jeder Programmstelle die Koordinatenangaben umrechnen zu müssen. So etwas wäre für alle Programmiersprachen eine sinnvolle und überaus nützliche Erweiterung.

Da bis jetzt nur die Neuheiten des Interpreters V3.0 dargestellt wurden, eine kurze Beschreibung des BASICs überhaupt: Der Direktmodus des BASICs ähnelt dem des Commodore 64. MBASIC-Kompatibilität ist bis zu 99% gewährleistet. Die Befehle sind recht anwenderfreundlich gestaltet, so daß OMIKRON-BASIC auch für den Anfänger einen guten Einstieg bietet.

Mathematische Funktionen

Für mathematisch Interessierte ist OMIKRON-BASIC eine reine Traumlandschaft und wird von keinem anderen BASIC-Dialekt überboten. Mit Double-Float-Zahlen kann bis auf 19 Stellen genau gerechnet werden, es gibt zahlreiche mathematische Funktionen (INT, FIX, FRAG, ABS, SGN, RND, DEG, RAD, SIN, COS, TAN, COT, SEC, COSEC, ATN, ARCTAN, ARCSIN, ARCCOS, ARCCOT, SINH, COSH, TANH, COTH, SECH, COSECH, AR-SINH, ARTANH, ARCOTH, LN, LOG, EXP, SQR, FACT), wobei man entweder in Dezimalzahlen, Hexadezimalzahlen, Binärzahlen oder auch in Oktalzahlen rechnen kann. Ferner besteht die Möglichkeit, mit Hilfe der Matrizenrechnungsbefehle (sie dienen zum Lösen linearer Gleichungssysteme) in die analytische Geometrie einzusteigen.

Außer den normalen String-Funktionen (LEFT$, RIGHT$, MID$, ASC, LEN, VAL ...) existieren noch weitere, sehr nützliche String-Funktionen (INSTR, SPACE$, STRING$, MIRROR$, UP-PER$, LOWER$), wobei sogar String-Multiplikationen durchgeführt werden können.

Sinnvolle Systemvariablen (MOUSEX, MOUSEY, MOUSEBUT, TIMER, TIMES, DATE$, PI, CSRLIN, ERR, ERL, ERR$) erlauben es dem Programmierer, einfach komplizierte Problemstellungen zu lösen.

Zahlreiche verschiedene PRINT-Befehle dienen der formatierten Bildschirmausgabe (zum Beispiel PRINT USING) oder einer übersichtlichen Bildschirmmaske (PRINT AT), wobei der Drucker sich durch ein vorangestelltes "L" angesprochen fühlt (zum Beispiel LPRINT, LPRINT USING). Aber nicht nur die Ausgabe, sondern auch die Eingabe von Daten ist gut gelöst. Zur Dateneingabe über die Tastatur gibt es fünf Befehle (INPUT, LINE INPUT, INPUT USING, INKEY$, INPUT$), wovon der Befehl INPUT USING für professionelle Programme geeignet ist, aber dafür auch eine entsprechend schwer zu handhabende Syntax besitzt.

Wie zu Anfang erwähnt, kann man entweder mit oder ohne Zeilennummern programmieren, wobei in beiden Modi auch Labels verwendet werden dürfen. Natürlich gibt es den Befehl IF...THEN... ELSE...ENDIF, der sich entweder über eine oder mehrere Zeilen erstrecken darf!

Zur Schleifenprogrammierung gibt es drei verschiedene Arten REPEAT...UNTIL, WHILE...WEND' FOR...NEXT, wobei eine Schleife mit EXIT jederzeit verlassen werden kann.

Das Sortieren von Daten erfolgt SORT. Dabei werden entwedei STRING-Felder oder numerische Felder» nach dem Quicksort-Algorithmus sortiert. Bedauerlich hierbei ist, daß nur bis, zu einem Feld parallel mitsortiert werden kann, was beim Sortieren von Adress (Name$, Vorname$,Strass$,Ort$...) uswj einige Schwierigkeiten bereitet.

Prozeduren

Prozeduren sind das "A" und "0" bei del heutigen, strukturierten Programmierung. Bei OMIKRON-BASIC definia der Befehl DEF PROC Neuer_Befehl J RETURN den neuen Befehl "Neuer_Befehl". Fügt man in seinem Programm ein Zeile (zum Beispiel 100 Neuer_Befehl| ein, verzweigt das Programm in die Unterroutine Neuer_Befehl, was auch im Direktmodus möglich ist, wie es vor allem in C häufig Verwendung findet.

Es ist sowohl sequentielle als auch relative Dateiverwaltung möglich, die durch komfortable Befehle unterstützt wird.

Pseudo-Multitasking

Man kann zwar nicht zwei Programme im Speicher ablaufen lassen, aber es ist trotzdem eine Art Interrupt-Programmierung in OMIKRON-BASIC möglich: Befehle! wie ON KEY GOSUB, ON MOUSEBUT GOSUB, ON HELP GOSUB, ON TIMER GOSUB verzweigen bei bestimmten Ereignissen während des Programmablaufs zu Unterroutinen.

Es wird die Grafik-Programmierung in allen Bildschirmauflösungen unterstützt Zahlreiche Befehle dienen zur übersichtlichen und einfachen Festlegung von Parametern. Vom Text-Stil bis zur Füllmuster-Festlegung ist alles mit eigenen Be fehlen ausgestattet (LINE COLOR, LINI STYLE, FILL STYLE, FILL COLOR TEXT STYLE, TEXT HEIGHT, TEXT COLOR). Die üblichen Befehle zun Zeichnen von Linien, Kreisen, Ellipse] und Rechtecken sind vorhanden, wöbe das Ausgabefenster über den Befeh CLIP X,Y,B,H festgelegt werden kann Es ist möglich, Bildschirmausschnitte ii den Speicher zu legen oder an eine andere Stelle zu kopieren, der Verbindungsmodus (zum Beispiel S AND D, S, S XOR D usw.) kann angegeben werden. Für die GEM-Programmierung befindet sich die sogennante GEM-LIB auf der Interpreterdiskette (Befehl FORM_ALERT und FILESELECT sind im Interpreter implementiert). Es lassen sich mit dieser Library GEM-orientierte Programme schreiben (z.B Menüleisten, Windows...).

Zwecks Debugging (Fehlersuche) gibt es die Befehle TRON, TROFF, ON TRON GOSUB, DUMP und LDUMP.

Mit den Befehlen TUNE, NOISE und VOLUME lassen sich kleine Musik-Programme schreiben.

Geschwindigkeit

Schon im Interpreter läßt sich bei längeren Schleifen die hohe Verarbeitungsgeschwindigkeit erkennen. Mit der vorliegenden Version 2.5 des Compilers lassen sich bereits sehr schnelle Programme verwirklichen. Die Geschwindigkeit wird auch bei der endgültigen Version 3.0 kaum mehr zu steigern sein, will man unnötigen Speicherbedarf vermeiden.

GFA-BASIC V3.0

Über die Vorabversion des GFA-BASICs, Version 3.0 haben wir ja bereits in Ausgabe 5 (Mai) auf Seite 40 f. berichtet. Um nicht den Umfang dieses Heftes zu sprengen, möchten wir uns auf diesen Artikel beziehen und in erster Linie nur grob auf die Änderungen gegenüber der Vorabversion eingehen.

Die neuen Befehle sind in Tabelle 1 ersichtlich. Im großen und ganzen hat sich nicht so viel verändert. Mancher Befehl wurde um die eine oder andere Zusatzfunktion erweitert. Der Editor ist ebenfalls gleich geblieben. Da bei der Version V3.00, die anfänglich ausgeliefert wurde, einige Fehler entdeckt wurden, gibt es bei GFA-Systemtechnik in Düsseldorf mittlerweile eine neue Version V3.03 (Stand 18.08.1988). Hierbei sind zwar noch nicht alle Fehler ausgemerzt, aber zumindest der Löwenanteil.

Um kurz auf die neuen Befehle einzugehen: Besonders für Maschinensprache-Programmierer, die zahlreiche Assembler-Routinen in ihren Programmen bevorzugen, aber auch für Grafik-Fetischisten wurde ein ganz besonderer Leckerbissen eingebaut: Mit dem Befehl INLINE kann man in einer Programmzeile beliebige Dateien unsichtbar ablegen, die im Programmtext direkt gehalten werden. Dies können unter anderem Einschaltbilder sein, die auf Befehl sofort eingeblendet werden, oder aber Maschinenroutinen, die angesprungen werden. Diest müssen nun weder nachgeladen noch über mühsame DATA-Zeilen in den Speicher "gepumpt" werden. Durch Drücker der Taste HELP in der entsprechender, Zeile gelangt man in ein komfortables Menü.

Durch SxPOKE und SxPEEK können nun auch geschützte Speicherbereiche beschrieben oder ausgelesen werden, SSORT und QSORT wurden dahingehend erweitert, daß erst ab dem x-ten Zeichen sortiert werden kann, zum Beispiel ab der File-Extension.

Auf dem mathematischen Sektor kamen DEG, RAD, ASIN und ACOS neu hinzu, in der Stringverwaltung können durch TRIM$ aus einer Zeichenkette alle linken und rechten Leerzeichen entfernt werden.

Mit dem Befehl MODE lassen sich für die USING-Anweisung die Dezimalkomma-Parameter einstellen. Man kann zwischen 1,000.00 und 1.000,00 wählen. Außerdem läßt sich das Datumsformat zwischen deutscher (28.07.88) und englischer bzw. amerikanischer Darstellung (07/28/88) manipulieren.

Auch beim VDI sind jetzt einige neue Befehle hinzugekommen. Vor allem bei den Grafik-/Zeichen- und Mal-Programmen, die zum Teil ja in GFA programmiert wurden (ARTKRAFT, GAMMA, MONOSTAR,...), wird durch die Benutzung des GDOS und das Laden der GEM-Fonts sicher eine neue Zeichensatz-Ära eingeleitet, und fast alle Programme werden diese Zeichensätze hoffentlich als Standard anbieten.

Dies waren im Groben die Änderungen zur Vorabversion. Wer bereits die Version 3.00 besitzt, sollte versuchen, möglichst schnell an die 3.03 heranzukommen, um sich nicht über "unerklärliche" Fehler im eigenen Programm ärgern und sich daran "totsuchen" zu müssen.

TYPE
SxPEEK
SxPOKE
INLINE
RAD
DEG
ASIN
ACOS
TRIM$
MODE
FGETDTA
FSETDTA
FSFIRST
FSNEXT

RC_INTERSECT
RC_COPYTO
GDOS
V_OPNWK
V_CLSWK
V_OPNVWK
V_CLSVWK
V_CLRWK
V_UPDWK
VST_LOAD_FONTS
VST_UNLOAD_FONTS
VQT_EXTENT
VQT_NAME

Tabelle der nach unserem Bericht neu hinzugekommenen GFA-BASIC 3.0-Befehle

HiSoft BASIC Compiler

Immer bessere und schnellere BASIC-Interpreter/-Compiler werden für die ATARI ST-Serie entwickelt. Der in diesem Jahr auf dem deutschen Markt erschienene "HiSoft BASIC Compiler" aus dem Verlagshaus Markt&Technik soll nach Angaben des Herstellers die "neue BASIC-Dimension" einleiten. Ob dies der Fall sein wird, muß vor allem wegen des OMIKRON-Vertrages mit ATARI doch sehr bezweifelt werden, schon wegen des Preisunterschiedes. (Nulltarif -179,- DM).

Das 376 Seiten starke Handbuch gibt nach einer kurzen Einleitung einen kleinen Programmierkurs für den Anfänger und zeigt dann die Grenzen des Compilers auf. Es sollte bei der Entwicklung des Compilers zwar versucht werden, Größenbeschränkungen zu vermeiden, was aber nur teilweise gelang. Variablennamen und Unterprogrammnamen dürfen unendlich läng sein, aber ein Programm darf zum Beispiel nicht länger als 12287 Zeilen lang sein und eine FOR...NEXT-Schleife darf 32 Kbyte nicht überschreiten. Es dürfen nicht mehr als 2999 verschiedene Marken verwendet werden.

Darauf folgt im Handbuch die Erklärung der etwa 220 Befehle. Es sind alle Befehle des ST-BASICs vorhanden, womit dieser Compiler angeblich voll zum ST-B ASIC kompatibel sein soll. Bei kurzen Programmen mag das ja stimmen, aber bei Programmen über 100 KByte kommt es immer wieder vor, daß der Compiler ein Programm nicht "mag". Dann ist es überaus ärgerlich, wenn er Fehler in Zeilen angibt, die in Wirklichkeit nicht vorhanden sind und so den Programmierer zum Wahnsinn treibt. Ansonsten gibt es auf der Demo-Diskette einen BASIC-Konverter, der Programme aus anderen BASIC-Dialekten (vornehmlich FAST-ST-BASIC) in das Hi-Soft-BASIC-For-mat konvertiert, was auch nur zu 95% funktioniert. Meist sind diese konvertierten Programme aber nach kleinen "Schönheitsoperationen" wieder lauffähig.

Aber um zu den 220 Befehlen zurückzukommen: Zu den üblichen BASIC-Befehlen gibt es weitere, extra für den ST angepaßte Befehle. WINDOW-Handhabung ermöglicht unter Verwendung von Programmbibliotheken eine GEM-unter-stützte Gestaltung seines Programms. Zahlreiche Befehle zur Verwaltung von komplexeren Datenbeständen (REDIM, OPTION BASE, ...) und Befehle zur strukturierten Programmierung (SELECT CASE, IF ... THEN ... ELSE ...) bieten dem erfahrenen Programmierer manche Erleichterung.

Auch an den Spiele-Programmierer wurde gedacht. Einfache Befehle zur Joystick-Abfrage fehlen genausowenig wie Befehle, um zum Beispiel "echte" Zufallszahlen zu erzeugen. Die doppelt genauen Zahlen sind implementiert, und so ist dieses BASIC auch für den mathematisch-ausgerichteten Programmierer interessant.

Der Profi-Programmierer kann die mitgelieferten Libraries in seine eigenen Programme einbinden und so leicht auf die betriebssysteminternen Funktionen (XBIOS, GEMDOS, BIOS, VDI, AES) zugreifen. Fraglich ist nur, ob es in Zukunft weitere, nicht betriebssystemorientierte Libraries (wie zum Beispiel STATISTIK-LIB, NUMERIK-LIB, MIDI-LIB etc. ... von OMIKRON) für dieses BASIC geben wird, was bestimmt ein wichtiger Aspekt für die Kaufentscheidung ist. Im Anhang des Handbuches folgt nach den deutschen Fehlermeldungen noch eine kurze Einführung in die Sprache Assembler, wo unter anderem gezeigt wird, wie eigene Libraries entwickelt werden können.

Aber nun zum wirklichen Compiler: Sicherlich ist Ihnen aufgefallen, daß wir einmal vom "Compiler", dann wieder vom "BASIC" selbst sprachen und einmal sogar fast das Wort "Interpreter" erwähnt haben. Der Hi-Soft-BASIC-Compiler ist nämlich sozusagen ein BASIC-Compiler mit eingebautem Editor, was bedeutet, daß neu erstellte Programme sofort getestet werden können. Bei kurzen Programmen hält sich die Compilier-Zeit in Grenzen, aber bei sehr langen kann es schon mehrere Minuten dauern, bis das Programm endlich gestartet werden kann, was vor allem beim Debugging, also bei der Fehlersuche, lästig ist.

Die Bedienung des Compilers ist komfortabel und der Benutzer kann, wie aus Bild 3 ersichtlich, viele Parameter einstellen, was sich dann entweder positiv auf die Geschwindigkeit oder auf die Sicherheit (Abstürze kamen bei unserer Testphase mitunter vor) des compilierten Programmes auswirkt. Der Compiler weist den Anwender beim Compilieren auf Tippfehler hin, und der Cursor wird dann an die entsprechende fehlerhafte Stelle im Editor gesetzt. Komfortabler wäre es gewesen, die Syntax einer Zeile gleich beim Eingeben zu überprüfen und dem Programmierer etwaige Fehler mitzuteilen. Ansonsten hat der Editor die üblichen Funktionen wie SUCHEN, ERSETZEN usw.

Der Hi-Soft-BASIC-Compiler besticht eigentlich nur dadurch, daß Compiler und Editor in einem Programm zusammengefaßt sind, und die Umsetzung der BASIC-Befehle insofern optimiert ist, daß sogar der OMIKRON-Compiler in Bezug auf die Ablaufgeschwindigkeit von compilierten Programmen übertroffen werden kann, wie aus der Benchmarktabelle ersichtlich ist. Aber dann ist eine Unterbrechung des laufenden Programms durch CONTROL-C nicht mehr möglich.

Man hat das Gefühl, daß die Entwickler eher an Geschwindigkeit als an Anwenderfreundlichkeit interessiert waren.

Für den Anfänger bietet das BASIC einen relativ guten Einstieg für den Umgang mit Compilern. Es ist für kleine Spielereien und kürzere Programme wie geschaffen.

Aber für den professionellen Programmierer ist der Editor ein großes Manko, das durch die hohe Geschwindigkeit nicht voll ausgeglichen wird. Offen bleibt die Frage, ob die Hersteller den Begriff "HiSOFT BASIC - die neue BASIC-Dimension" im Geschwindigkeitsrausch verwendet haben, wegen des Editors oder einer übermäßigen Befehlsvielfalt wohl kaum.

RP



Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]