Logo: Geos Online Print Archiv
G.O.P.A. - Geos Online Print Archiv
19.09.2021 Archiv  #  Recherche  #  Links  #  Kontakt  #  Gästebuch  #  Impressum

Index
Register
Login

Die Anzeige des Archivs erfolgt grafisch. Ändern

GeoCom im Test

Autor: Olaf Dzwiza; Autoreninfo anzeigen

In der letzten Geos User Post wurde GeoCom bereits kurz vorgestellt. Hier folgt nun ein ausführlicher Test dieser neuen Programmiersprache für GEOS.
Zum Lieferumfang von GeoCom gehört zunächst das Hauptprogramm, der Compiler. Dieser übersetzt die mit einer beliebigen Version von GeoWrite erstellten, an Basic angelehnten Quelltexte in eigenständig lauffähige Maschinenprogramme in einem angenehmen Tempo. Die Quelltexte sind frei von Zeilennummern.
Neben mehreren Hilfsprogrammen (Desk Accessoires und Applikationen) zum komfortablen Start von GeoCom aus GeoWrite heraus, zum Konvertieren von BASIC 2.0 Programmen nach GeoWrite und zum Rechnen mit hexadezimalen Zahlen gibt es noch einen leistungsfähigen IconEditor, der übrigens komplett mit GeoCom erstellt wurde, einen Spezialeditor zum Erstellen von Menüs, Icons, Bitmaps u. s. w. ("Object-Edit") und einige Demoprogramme samt Quelltext.

GeoCom wendet sich - darauf wird auch extra in der Anleitung hingewiesen - an den etwas erfahreneren BASIC oder GeoBasic Programmierer bzw. den Assemblerprogrammierer, der nicht immer sehr maschinennah programmieren will. Der Programmiereinsteiger hingegen wird mit GeoCom wenig Freude haben, da diese Sprache, wie jede andere Compilersprache auch, ein sehr klar strukturiertes Programmieren erfordert. Der Programmautor muß sich peinlich genau an vorgegebene Syntaxstrukturen halten, sonst läuft nichts. Vor einem Programmprojekt sollte man sich genaue Gedanken über den Aufbau und die Funktion späterer Routinen machen. Grundkenntnisse über den Aufbau von GEOS sind von großem Vorteil, nicht jedoch zwingend erforderlich.

Wer bei der Auflistung des Lieferumfangs so etwas wie einen Debugger vermißt hat, dem kann hier gesagt werden, daß GeoCom auf Wunsch während des Compilierens einen sog. "Fehlertext" erzeugt; dies ist eine GeoWrite-Datei, in der alle vorkommenden Fehler mit Angabe von Seiten- und Positionsnummer sowie Fehlermeldung und Kurzbeschreibung gelistet werden.

Bei fehlerfreier Compilierung kann das Programm gespeichert und gestartet werden, sonst kann man mit der Fehlerliste nach GeoWrite wechseln, diese dort z. B. drucken und die Fehler beheben.
Das Hauptmenü des Compilers enthält eine Reihe weiterer Auswahlmöglichkeiten, so kann z. B. jederzeit nach GeoWrite zurückgesprungen oder ObjectEdit (s. o.) aufgerufen werden.

Das Handbuch
Es gliedert sich in vier Teile:
Im ersten Teil erklärt der Verfasser die Installation und Bedienung von GeoCom und seinen Zusatzprogrammen. Im zweiten Teil folgt anhand von nur drei Beispielen eine recht knappe Einführung in die Programmierung von GeoCom. Dies ist auch der einzige Mangel, den das ansonsten recht gute Handbuch hat.

Das Erlernen und die Besonderheiten der GeoCom Programmierung werden zu kurz behandelt. Man sollte sich auf jeden Fall alle Demos ausdrucken und diese zur Hilfe mit benutzen. Der Einsteiger ist restlos überfordert und wird schnell frustriert aufgeben, während der etwas fortgeschrittene Programmierer erfreut sein wird, ein übersichtliches Nachschlagewerk in der Hand zu halten.

Im dritten Teil (dem eigentlichen Hauptteil) findet man ein hervorragendes, übersichtliches Referenzhandbuch. Zu jedem Befehl ist angegeben, was wie übergeben werden muß und welche Form das Kommando hat. Der Clou ist jedoch der letzte Teil: Hier finden sich Tabellen zu vielen wichtigen Dateiformaten von GEOS (Scraps, Dokumente u. s. w.).

Was kann GeoCom ... ?
Mit GeoCom können einteilige Programme (Applikationen) genauso leicht erstellt werden wie VLIR-Programme (mehrteilige Applikationen). Bei letzteren jedoch muß der Autor die Aufteilung auf die einzelnen Records und das Nachladen selber einbauen, standardmäßig werden immer einteilige Applikationen erstellt. Ebenso sind selbststartende Programme (auto_exec) problemlos möglich.

Der C128 wird in beiden Modi, 40- und 80-Zeichen, voll unterstützt. Dies gilt sowohl für GeoCom als auch für die mit GeoCom erstellten Applikationen, hier jedoch nur, wenn es der Autor so einrichtet. Es sei jedoch darauf hingewiesen, daß man nur solche Programme schreiben sollte, die man auch selber vollständig testen kann.
Ebenso werden alle VIER (!) Laufwerke unterstützt, wenn man diese Möglichkeit im eigenen Programm berücksichtigt.

... und was nicht ?
Es ist nicht möglich, Hilfsprogramme, Eingabe- oder Druckertreiber zu erstellen. Die Programmlänge beträgt immer mind. 10 kB, diese enthalten fertige GEOS-Routinen, auf die das Compilat zugreift. Solche Routinen müßte der Assemblerprogrammierer selber schreiben.

Länge und Geschwindigkeit des Compilats
Mehrteilige Programme, die man bevorzugt entwickeln sollte, dürften maximal ca. 750 kByte (!) werden. Ist die maximale Länge eines GeoWrite-Dokumentes erreicht, können weitere Texte während des Compilierens nachgeladen werden. So können z. B. auch leicht Modulbibliotheken angelegt werden.

Die Geschwindigkeit des Compilats wurde mit Hilfe eines Benchmark-Tests gemessen, das Listing dazu gibt's auf Anfrage bei mir. Folgende Punkte wurden je 1000x durchgeführt (in Klammern ist die Zeit in Sekunden für alle 1000 Mal angegeben):

  1. Aufrufen einer Leerroutine   (1'43)
  2. Anlegen und Löschen eines Strings mit 30 Zeichen   (2'43)
  3. Multiplikation von Integerzahlen (x*x*x*x*x)   (7'14)
  4. Potenzieren von Integerzahlen (x^5)   (6'96)
  5. Multiplizieren von Real-Zahlen (x*x*x*x*x)   (39'19)
  6. Potenzieren von Real-Zahlen (x^5)   (61'40)

Typwandlungen:

  1. Byte -> Integer   (2'01)
  2. Integer -> Byte   (2'65)
  3. Real -> Integer   (8'83)
  4. Integer -> Real   (8'59)
  5. Real -> Byte   (10'36)
  6. Byte -> Real   (8'45)

Die Stringverarbeitung ist angenehm zügig, ebenso der Aufruf von Routinen. Bei der Zahlenverarbeitung sollten möglichst immer Integer- oder Bytevariablen verwendet werden. Realzahlen schneiden aufgrund der nötigen internen Berechnungen sehr schlecht ab.

Disk- und Dateibefehle
Beim Schreiben dieser Zeilen (15.01.94) fehlt GeoCom noch ein Programmteil zum Bereitstellen der Daten für selbsterstellte Files. Daher werde ich auf diesen Komplex später in einem seperaten Artikel eingehen. Laut Handbuch sollen die Dateibefehle fehlerfrei arbeiten, wenn man in seinem Quelltext keine Fehler macht...

Grafik- & Fontbefehle
Auch hier weiß der Leistungsumfang zu überzeugen. Der Programmierer muß sich jedoch genau über die erlaubten Wertebereiche klar sein und diese einhalten, ebenso muß er den richtigen Modus beachten (40 oder 80 Zeichen? GEOS 64 oder 128?).

Druckbefehle
Der Programmautor muß sich unter GeoCom im Gegensatz zu GeoBasic um vieles mehr kümmern. Dies erfordert eine wesentlich höhere Disziplin beim Programmieren, wodurch jedoch ein Höchstmaß an Flexibilität entsteht. So ist es z. B. auch die Aufgabe des Programmierers, den Druckertreiber selber zu laden. Dafür können jedoch alle Möglichkeiten, die dieser bietet, genutzt werden.

Weitere Besonderheiten in Kürze

  • GeoCom erwartet, daß Befehle grundsätzlich groß, Label (Ansprungmarken als Ersatz für die Zeilennummern) und Variablen jedoch immer klein geschrieben werden. So können Variablen und Befehle identisch lauten, wenn sie denn klein bzw. groß geschrieben werden. Darauf sollte man jedoch verzichten, um die Lesbarkeit der Quelltexte nicht zu sehr zu erschweren.
     
  • Variablenzuweisungen sind teilweise etwas schwierig, die genauen Kenntnisse über den definierten Typ sind unabdingbar.
     
  • Sehr gut gefallen hat es mir, daß häufig gebrauchte GEOS-Speicherstellen unter GeoCom mit Hilfe eines vordefinierten Namen als Variable ohne PEEK und POKE angesprochen werden können. Beispiel:
    Der Bereich @8400 bis $841d (File Datenblock) kann über die Variable DIRENTRY komfortabel abgefragt werden.
    Insgesamt ist das Variablenhandling - wenn man es einmal gelernt hat - eine der Stärken des Compilers, auch mit obiger Einschränkung.
     
  • Es gibt keine (!) FOR - TO - STEP - NEXT Schleife, diese muß mit REPEAT oder WHILE nachgebildet werden.
     
  • Die Länge eines Strings muß im Definitionsteil festgelegt werden, dadurch kann der Speicherplatz genau dosiert werden.

Fazit
Sowohl der GeoProgrammer als auch der MegaAssembler werden nicht mehr vertrieben, mit Glück bekommt man sie noch gebraucht oder als Restposten. GeoBasic ist ohnehin nicht empfehlenswert und nur noch als Import zu bekommen (US-Version). GeoCom ist somit die einzige Programmiersprache, die überhaupt noch offiziell vertrieben wird.
Der Leistungs-, Befehls- und Lieferumfang von GeoCom ist sehr überzeugend, auch wenn man mit gewissen Einschränkungen zurecht kommen muß. Die Resultate sprechen für sich.

Es soll bei aller Begeisterung jedoch nicht verschwiegen werden, daß der Einsteiger wenig Freude mit GeoCom haben wird. Das ganze Tool ist mit seinem Anforderungs- und Strukturniveau (Handbuch) offensichtlich für den etwas erfahreneren Programmierer konzipiert.

Für den Preis von 59,- DM (GUC u. a. GEOS Usergruppen. GUC Mitglieder: 55 DM) wird ab dem 01.03.94 ein Tool, das nicht nur sein Geld wert ist, sondern GEOS noch lange am Leben halten kann, verfügbar sein.

Wer sich selber ein Bild von diesem Programmiersystem machen will, kann eine kostenlose PD-Demoversion (Compiler & Demos ohne SAVE-Funktion) beim Vertreiber anfordern.

Bezugsadresse:

GEOS USER SOFTWARE SACHSEN
Denis Döhler,
(siehe Autoreninfo)

 

Olaf Dzwiza

 

 

 




Dieser Artikel ist Bestandteil von:

Ausgabe 32

! - - - - - M I C R O F I L M - - - - - ! | DOS Rechner: Virenschutz ! | Die CeBIT naht ..., Novell DOS 7, GUP 32 Umfang | Editorial | It's CeBIT Time ! | Hobbytronik Messe | Der GEOS Laden | Anmeldung Jahreshaupttreffen | Jahresübersicht 1993 - GUP Ausgaben 26 - 31 | News Rhein Main Regio | Gut gepuffert ist halb gedruckt ... | News Regio Berlin | News Regio Hannover | Testbericht zum Programm Etikett | FileBrowser | Bildschirm Schoner Spezial | Poesie | RamProzess & FileBrowser | GeoCom im Test | Neues von der GEOS 64/128 GeoThek | C64 tot? | GeoBox Online Zeit | Nachtrag zu 'weitere Quelltexte' aus GUP 31 | TopDesk und QuikStash | Schaltplan für Joystick Port-Switch | GeoCanvas V3.0 128 und GeoCanvas V3.0 64 | PD Disk für GWE2 | GeoFile für Einsteiger | Neue Anwendungen | Der Drucker, daß unbekannte Wesen | Drucker Datenbank | Namenswechsel | Datenbanken für GeoFile | GeoFile: Berechnete Felder | Tip: Drucken von Endlosetiketten | Geschwindigkeitsbeeinflussung durch Festplattenkomprimierer | Optimierung des Geschwindigkeitsverhaltens | Druckgeschwindigkeit und GeoWorks 2.0 | 3-D Effekte | CD ROM in Vorbereitung!


Kurzlink hierhin: http://geos-printarchiv.de/1771


Letzte Änderung am 01.11.2019