Locomotive Basic 2: Basic in Luxusausstattung

Das neue Locomotive Basic 2 ist leistungsstark und zukunftsweisend. Zeilennummern braucht man nicht mehr, um die zirka 300 Befehle zu einem Programm zusammenzufügen. Diese Aufgabe übernehmen Labels.

Bis heute galt auch für die verschiedenen Basic-Dialekte der Schneider-Computer immer das typische Aussehen mit einer Nummer zu Anfang jeder Zeile. Basic 2 braucht das nicht. Sprungbefehle zu einem bestimmten Programmteil erfolgen wahlweise auf ein sogenanntes Label. Dabei handelt es sich um einen Namen zu dem das Programm verzweigt. Unter dem Locomotive Basic des Schneider CPC lautet zum Beispiel eine Routine, die ein Unterprogramm aufruft und dann insgesamt 100mal den Buchstaben »A« ausgibt:

10 LET A=0
20 LET A=A+1
30 GOSUB 60
40 IF A=10 THEN STOP
50 GOTO 20
60 PRINT "A";
70 RETURN

Das gleiche Programm sieht unter Basic 2 so aus:

	LET A=0:
LABEL SCHLEIFE: LET A=A+1:
	GOSUB AUSGABE:
	IF A=10 THEN STOP:
	GOTO SCHLEIFE:
LABEL AUSGABE:	PRINT	'A';:
	RETURN:

In diesem kurzen Beispiel wird der Vorteil noch nicht sofort klar. Aber wenn Sie beispielsweise eine Routine für mehrere Programme benutzen wollen, dann ist es viel einfacher, diese unabhängig von der Zeilennummer durch Ihren Namen einzubinden. Sie müssen dann nicht mehr darauf achten, ob die Zeilen schon belegt sind oder nicht. Sie können sich eine Bibliothek anlegen, die Sie für die verschiedensten Programme wieder benutzen können. Sie dürfen aber natürlich auch wie gewöhnlich mit Zeilennummern arbeiten.

Basic 2 ist eine sehr moderne Version der an sich schon alten Sprache. Neben den Pascal-ähnlichen Strukturen kennt Basic 2 auch die von Logo her bekannte Turtle-Grafik. Mit diesen Routinen kann man mit Hilfe einer sogenannten »Schildkröte« (der Turtle) Bilder direkt auf den Bildschirm zeichnen.

Die sonst üblichen Basic-Befehle zur Grafik-Ausgabe, wie beispielsweise CIRCLE, ELLIPSE, SHAPE und so weiter, sind natürlich auch implementiert (siehe Tabelle 1).

»Mallard-Basic« hieß die letzte Basic-Version (Programmiersprache des Joyce). Eine der Stärken ist die relative Dateiverwaltung. Basic 2 ist in dieser Hinsicht noch besser geworden. Wenn man sich eine Dateiverwaltung programmiert hat, dann erfolgt ein späterer Zugriff auf einen Datensatz nicht über die Nummer des Satzes, sondern direkt über den Inhalt.

Suchen Sie beispielsweise die Daten zu dem Namen »Müller«, so müssen Sie bei den meisten Basic-Dialekten zuerst die Nummer des zugehörigen Datensatzes heraussuchen (ist noch einfach) und dann in einer mehr oder weniger aufwendigen Schleife die zugehörigen Informationen an Hand dieser Nummer bestimmen. Basic 2 arbeitet da komfortabler. Sie geben nur noch den Inhalt des Datensatzes ein und der Computer findet allein sämtliche Informationen, die dazu gehören.

Auch für Mathematik-Fans bietet der neue Schneider PC unter Basic fast alles was man so im täglichen Leben braucht. Anders als bei den sonst üblichen Programmiersprachen existieren sogar für die Umkehrfunktionen eigene Befehle. Die Argumente können wahlweise in Bogenmaß oder in Grad eingegeben werden. Spezielle Anweisungen schalten zwischen beiden Berechnungsarten hin und her.

Basic 2 arbeitet sehr schnell. Vergleichbare Programme in Basic 2 sind knapp dreimal so schnell wie in BasicA (die GW-Basic-Version für den IBM-PC). Erstaunlich ist, daß das Basic des Schneider CPC nur halb so schnell ist wie das Basic 2 — und damit im Schnitt nur zwei Drittel der Zeit für die Programmabarbeitung braucht, die BasicA auf einem IBM-PC benötigt. Und das obwohl der IBM mit einem 16-Bit-Prozessor arbeitet. Unsere Vergleichsroutine mit den Zeiten der wichtigsten Konkurrenten finden Sie in Tabelle 2.

ABS HEADING ROUND
ACOS IF ROUNDED
ADDKEY INDEX RS ET
ADDREC INFORMATION RUN
ADJUST INKEY RTD
ALERT INKEYS SCREEN
ANGLE INPUT SCROLL
AND INPUTS SELECT
APPEND INSERT SELECTOR
ARC INSTR SELFILES
AS INT SELPATHS
ASC INTEGER SELWILDS
ASIN KEY SET
AT KEYSPEC SGN
ATAN LABEL SHAPE
ATN LEFTS SIN
BIN LEN SIZE
BOL LENGTH SPACE
BOS LET SQR
BOX LINE START
BUTTON LOC STEP
BYTE LOCAL STOP
CASE LOCATE STREAM
CD LOCK STRINGS
CEILING LOF STRS
CEND LOG STYLE
CHDIR LOWER SWAP
CHDIRS LOWERS SYSTEM
CHRS LPRINT TAB
CINT LS ET TAN
CIRCLE LT TEST
CLEAR MARGIN TEXT
CLOSE MARKER THEN
CLS MAX TIME
COLOR MAXIMUM TIMES
COLOUR MD TITLE
CONSOLIDATE M1DS. TO
CONT MIN TOWARD
COS MINIMUM TRAP
CURRENCY* MKDIR TRUE
CURSOR MOD TRUNC
DATA MODE TYPE
DATE MOUSE UBYTE#
DATES MOVE UNIQUE
DECIMAL NAME UNIT
DECS NEXT UNTIL
DEF NEW UPDATE
DEG NOT UPPER
DEGREES OFF UPPERS
DEL OLD USER
DELETE ON USING
DELKEY ONLY UWORD
DEVICE OPEN VAL
DIM OPTION VERSION
DIMENSIONS ORIGIN VPOS
DIR ORPI WEND
DISPLAY OSERR WITH
DISTANCE OUTPUT WIDTH
DRIVE PART WINDOW
EDIT PEN WHILE
EFFECTS PIE WHOLE
EFT PLACE WORD
ELLIPSE PLOT WRAP
ELLIPTICAL POINT XACTUAL
END POINTS XBAR
EOF POINTSIZE XCELL
EOL POS XDEVICE
EOS POSITION XMETRES
ERASE POSITION* XMOUSE
ERR PRINT XOR
ERROR PROC XPIXEL
ERRORS PROMPT XPLACE
EXP PUT XPOS
EXTEND QU IT XSCROLL
FALSE RAD XUSABLE
FD RADIANS XVIRTUAL
FI RANDOM X WINDOW
FILES RANDOMIZE YACTUAL
FINDDIRS RD YASPECT
FIND* READ YBAR
FIX RECORD YCELL
FIXED REM YDEVICE
FLEXIBLE REN Y MET RES
FLOOD REPEAT YMOUSE
FLOOR REPOSITION YPIXEL
FN RESET YPLACE
FONTS RESTORE YPOS
FOR RESUME YSCROLL
FORWARD RETURN YUSABLE
FRE RIGHT YVIRTUAL
CET RIGHTS YWINDOW
GOSUB GRAPHICS RMDIR RND ZONE

Tabelle 1. Mehr als 290 verschiedene Befehle kennt Basic 2.

Nach so viel Lob einige negative Punkte: Zum einen laufen Programme, die unter GW-Basic geschrieben wurden, nicht so ohne weiteres unter Basic 2. GW-Basic ist der Stan-dard-Basic-Dialekt in der Klasse der MS-DOS-Computer.

Der zweite und wichtige Nachteil: Basic 2 läuft nur unter GEM. Für Besitzer des Schneider PC ist das kein Hindernis, aber andere MS-DOS-Computer können ohne GEM mit den Programmen nichts anfangen. Das Weitergeben von Software wird dadurch erschwert. (hg)

Gerät						Zeit
Schneider PC mit Basic 2	3,2 Sekunden
Amiga						3,3 Sekunden
Schneider CPC 464			6,8 Sekunden
Atari ST					7,2 Sekunden
IBM-PC mit BasicA			11,6 Sekunden
C 128						14,45 Sekunden
C 64						22,9 Sekunden

100 DEFINT A=Z
110 T!=TIMER
120 DIM X(1000)
130 K=0
140 K=K+1
150 GOSUB 200
160 X(K)=Z
170 IF K<1000 THEN 140
180 PRINT TIMER-T!
190 END
200 Z=K*2+3
210 RETURN

Manche Befehle haben bei den verschiedenen Computern eine unterschiedliche Syntax

Tabelle 2. Die Zeiten und das Programm für unseren Vergleichstest



Aus: Happy Computer 10 / 1986, Seite 46

Links

Copyright-Bestimmungen: siehe Über diese Seite