- Locomotive BASIC
-
Locomotive BASIC ist ein BASIC-Dialekt der Schneider/Amstrad CPC-8bit-Homecomputerbaureihe, im ROM enthalten und zugleich als OS gedacht, in Entwicklung, Befehlsumfang und durch den Hersteller, Locomotive, eng verwandt mit dem ebenfalls bekannten Mallard BASIC. Entwickelt wurde diese Sprache durch die kleine britische Firma Locomotive Software.
Programmiert wurde im Dialog auf der Kommandozeile, die notwendige Zeilennummerierung bzw. deren Änderungen erfolgte automatisiert. Wie die meisten BASICs als Interpreter betrieben, war zusätzlich ein optionaler Compiler erhältlich.
Der umfangreiche und gut zu handhabende Sprachumfang machte die Programmierung der meisten Anwendungen im BASIC selbst möglich. Zusätzliche Funktionen konnten mit Assembler-Speicheraufrufen (Z80A) im Programm selbst integriert werden. Die Sprites eines C64 fehlen, dafür können etwa Oberflächen mit bis zu 8 Dialogfenstern recht schnell und flüssig programmiert werden. Insgesamt ist es eine weitgehend ausgewogene, abgerundete Programmiersprache mit guter Syntax.
Als Speichermedium dienten Kassetten- bzw. Diskettenlaufwerke, zur Ausgabe schwerpunktartig Monitor bzw. Drucker, als Eingabe Tastatur bzw. Joystick. Wie der eingebaute Lautsprecher konnten sie direkt angesprochen werden. Optionale, weitergehende externe Hardware bedarf Schnittstellen seitens der Hersteller bzw. eigener Programmierarbeit.
Entsprechend der Entwicklungszeit fehlen allerdings die großen Ansätze des strukturierten Programmierens weitgehend, werden aufgrund des häufig überschaubaren Programmierumfanges aber auch noch nicht wesentlich vermisst bzw. mit anderen Methoden wie den berüchtigten GOTOs dann doch gekonnt umgesetzt. Die Programmierung erfolgte problem- bzw. maschinenorientiert, parallele Verarbeitung, Vernetzung oder Objektorientierung stecken noch in den Kinderschuhen oder waren noch nicht geboren.
Inhaltsverzeichnis
Beispiele
Etwas einfaches anstelle von "Hallo Welt":
10 rem Beispiel 20 print "Zylinderflaechenberechnung" 30 input "Bitte Zylinderhoehe eingeben ...",H 40 input "Bitte Zylinderradius eingeben ...",R 50 A=2*PI*(R^2+R*H) 60 print "Zylinderfläche = ",A
Das Ganze kann natürlich auch vereinfacht, hier von der Kommandozeile aus umgesetzt werden:
input"Radius,Hoehe..."R,H:?"Zylinderflaeche="2*PI*(r^2+r*h)
Jede Befehlszeile ist auf ca. 255 Zeichen begrenzt, die deutschen Sonderzeichen stehen im BASIC selbst, außer als ASCII-Aufrufe, nicht zur Verfügung.
Nachträge und Meinungen
Versionen
Während beim Schneider/Amstrad CPC die Version 1.0 bzw. 1.1 verwendet wurde und beim PCW/Joyce bzw. NC100 das Mallard Basic derselben Firma bzw. das in England bekannte BBC BASIC verwendet wurden, wurde für die DOS/GEM-Umgebung des PC-kompatiblen Amstrad PC1512 die Version Locomotive BASIC2 geschaffen. Die genaue Angabe der Version lautet:
Locomotive BASIC 2 Version 1.12 11 Jul 86 Copyright 1986 Locomotive Software Ltd
Locomotive Basic2 war eine graphische integrierte Entwicklungsumgebung in der graphischen Oberfläche GEM. Die Programme konnten mit Fenstern umgehen, die Maus mitverwenden und farbige Grafik erzeugen. Ob die Programme außerhalb der IDE verwendet werden konnten, ist nicht bekannt.
Funktionsweise
Beim Locomotive Basic des CPC handelt es sich um keinen reinen Interpreter, vielmehr wurde das Verfahren der Vorcompilierung verwendet um die Ausführung zu beschleunigen. Die mit dem optional erhältlichen Compiler erstellten Programme hatten, analog heutigen Compilern, einen um 50 bis 200 Prozent erhöhten Speicherbedarf. In Zeiten kleiner und teurer Speichermedien oft ein Nachteil.
Für Testläufe und Fehlersuche standen auf der Kommandozeile spezielle Befehle zur Verfügung. Die meist kompakte Lexik der Sprache unterstützte die Vermeidung von Tippfehlern, die Meldung der Fehler war meist punktgenau und prägnant. Die möglichen Variablentypen beschränken sich auf das wesentlichste, Strings und deren Bearbeitung sind einfach zu handhaben, eine Deklaration ist oft nicht zwingend notwendig.
Der für die Programmerstellung und die Fehlerfreiheit anzusetzende Zeitaufwand stehen subjektiv im Gegensatz zu Erfahrungen mit heutigen Werkzeugen, etwa im Bereich C++, auch wenn die Mächtigkeit heutiger Sprachen nicht vergleichbar erscheint. Der Ansatz einer schnellen und eventuell auch komfortablen Programmierung kommt in einigen anderen Sprachen zum Ausdruck, etwa bei REXX.
Siehe auch: Amstrad CPC==
Kategorie:- Programmiersprache Basic
Wikimedia Foundation.