APPLICATIONSPROGRAMMATION ★ COMAL-80 (CPC AMSTRAD INTERNATIONAL) ★

COMAL - die 100%-ige ProgrammierspracheCOMAL-80 für Schneider (CPC Magazin)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Das Software-Angebot für die Schneider-Computer nimmt in rasantem Tempo zu. Dazu gehören auch Programmiersprachen wie Pascal, Cobol und andere mehr. Deshalb ist es nicht verwunderlich, daß auch COMAL-80 endlich implementiert wurde. Zwei Punkte sind jedoch unterschiedlich zu anderen Sprachen : Zuerst einmal läuft COMAL unter dem ganz normalen Betriebssystem AMSDOS und ist daher nicht von einer der beiden CP/M-Versionen abhängig. Das bedeutet auch, daß auf einer COMAL-Diskette wesentlich mehr Platz für Anwender-Programme oder Daten ist.

Zum anderen steht hinter COMAL eine Gruppe von Leuten, welche jedem Anwender jede Form von Unterstützung zukommen läßt. Dies reicht von Informationen, Tips, einer Anwenderzeitschrift bis zu einer Sammlung von billiger Software und direkter Beratung per Post oder Telefon. Ein COMAL-Anwender wird nicht allein gelassen.

Ähnlich Pascal

COMAL verbreitet sich zur Zeit immer mehr. Dies geschieht hauptsächlich abseits des "normalen" Weges über die Zeitschriften. COMAL wird in erster Linie in Schulen, Lehrerfortbüdungen und Universitäten eingesetzt und zwar auf den unterschiedlichsten Rechner-Typen. Dabei ist COMAL keine akademische Sprache. Aufgrund ihrer Möglichkeiten und der inneren Struktur ist sie jedoch für Lehrzwecke geradezu prädestiniert. Aber auch Anwendungen lassen sich leicht, schnell, gut dokumentiert und änderungsfreundlich programmieren. Dazu kommt noch die Geschwindigkeit der Programmausführung und die Erweiterungsfähigkeit durch das Konzept der Packages. In verschiedenen Bundesländern wird COMAL neben Pascal als die Sprache für den Unterricht offiziell empfohlen.

Was ist nun COMAL? Diese Sprache ist keine neue Sprache. Schon im Jahre 1973 wurden die Grundzüge von den Herren B. Christensen und B. Löfstedt entwickelt. Die Idee dabei war, eine strukturierte Sprache auf der Grundlage von Pascal zu schaffen, welche jedoch dessen Nachteile - die mangelhafte Betriebssystem-Umgebung und die unnatürliche Strenge der syntaktischen Regeln - vermeidet. Als Sprache ist Basic (obwohl ständig weiterentwickelt) hoff-
nungslos veraltet und für wirklich gute Anwendungen nicht sinnvoll einsetz-bar. Der Vorteil ist jedoch die schnelle Änderbarkeit eines Programmes. Erst das Aufkommen von Turbo-Pascal mit dessen Editier- und Fehlersuchmöglichkeiten bot etwas Gleichwertiges.

COMAL ist eine strukturierte Sprache. Spaghetti-Programme, wie sie bei Basic die Regel sind, können nur unter größter Anstrengung geschrieben werden. Normalerweise ergibt sich eine Struktur von selbst. Alle wichtigen Strukturelemente von Pascal sind enthalten. Dazu gehören LOOP-ENDLOOP, WHILE-ENDWHILE, REPEAT-UNTIL, IF-ELIF-ELSE-ENDIF und CASE-WHEN-OTHERWISE-ENDCASE. Man sieht sofort, daß diesbezüglich alles enthalten ist, was das Herz eines Programmierers begehrt.

Wichtige Strukturelemente

Allen Schneider-Programmierern wohlbekannt ist der ungewöhnliche Editor mit dem COPY-Cursor. Ich persönlich habe mich daran nie gewöhnen können. In COMAL ist dies anders: Man verfügt über einen ausgezeichneten Bildschirm-Editor. Viele Funktionen sind in diesem Editor enthalten, welche man an und für sich nur von Textvèrar-beitungssystemen her kennt: Tabulatoren, Löschen ab der Cursor-Position, Löschen und Einfügen ganzer Zeüen, Cursor auf Anfang und Ende einer Zeile usw. Man arbeitet auch nicht mehr im INSERT-Modus, sondern man kann falsche Zeichen direkt überschreiben. Sie gehen einfach im Bildschirm auf die zu ändernde Stelle, verbessern und drük-ken die RETURN- oder ENTER-Taste -schon ist diese Ändérung in den Speicher übernommen.

Beim Listen von Programmen oder Programmteüen hat man auch an diejenigen gedacht, welche nicht ständig den Finger auf der ESC-Taste haben wollen und dann doch meist den richtigen Moment zum Anhalten verpassen. In COMAL wird eine Bildschirmseite aufgelistet und dann auf einen Tastendruck gewartet. Eine Möglichkeit, welche vieles erleichtert.

COMAL-Programme können in drei Formaten gespeichert werden. Zum ersten als kompakter Code. Die zweite Möglichkeit ist in Form einer ASCEt-Da-tei ohne Zeilennummern. Dies erlaubt nicht nur die Bearbeitung von Programmen mit Textverarbeitungssystemen, sondern auch eine Datenübertragung zu anderen Computern. Da COMAL-Programme meistens ohne Änderungen auch auf anderen Computertypen (z. B. C 64 oder IBM) laufen, ist diese Möglichkeit nicht zu verachten. Außerdem bedeutet dies, daß auf einen großen Fundus schon vorhandener Programme zückgegriffen werden kann. Die dritte Möglichkeit entspricht der zweiten, legt jedoch zusätzlich noch die Zeilennummern mit ab. Dazu ist zu bemerken, daß man in COMAL Zeilennummern nur zur Gliederung eines Programmes verwendet. Bei der Programmausführung werden sie nicht berücksichtigt. In COMAL gibt es keinen einzigen Befehl, welcher sich auf eine Zeilennummer bezieht.

Der hauptsächliche Vorzug von COMAL ist jedoch das (von Pascal übernommene) Konzept der Prozeduren und Funktionen. Diese treten an die Stelle der in Basic gewohnten Unterprogramme. Im Gegensatz zu dort werden sie jedoch durch einfaches Einsetzen ihres Namens im Programm aufgerufen. Dabei können Parameter mit übergeben werden, im Falle der Funktionen werden auch Werte wieder zurückgegeben. Eine Prozedur oder Funktion kann lokale und globale Variablen benutzen, sie kann sogar auf lokale DATA-Listen zurückgreifen. Prozeduren und Funktionen haben in COMAL genau je einen Eingang und Ausgang - wie es schon seit Jahren von den Programmierern gefordert wird.

Modular angelegt

Da COMAL-Programme modular angelegt sind, macht es keine Schwierigkeiten, eine Bibliothek von Funktionen und Prozeduren auf der Diskette anzulegen, welche bei Programmentwicklungen je nach Bedarf mit Hilfe des MERGE-Kommandos eingebunden werden können. Zusätzlich ist es sehr leicht, ganze Systeme von Teilprogrammen zu entwickeln, welche sich gegenseitig aufrufen. Dadurch kann eine Anwendung bis zu 170 kByte groß sein.

Wir sprachen oben schon von den logischen Strukturen. Selbstverständlich sind diese in COMAL blockorientiert, d. h., es darf z. B. zwischen IF und ENDIF ein ganzer Block von Instruktionen stehen. Bei den Programmlistings werden solche Strukturen automatisch durch entsprechendes Einrücken gekennzeichnet. Dadurch ist es auch Fremden sehr schnell möglich, sich in ein Programm einzudenken.

COMAL für den Schneider entspricht in seinem Befehlsvorrat dem internationalen Standard für den Sprachkern. Zusätzlich wurden noch eine Reihe von Befehlen und Funktionen implementiert, welche die Arbeit erleichtern und auf die Möglichkeiten der wirklich guten Schneider-Computer zugeschnitten wurden. So ist es ohne Aufwand möglich, Programmzeilen zu schreiben, welche direkten Maschinencode ausführen (Statement CODE). Wem dies nicht genügt, kann sich jederzeit Spracherweiterungen, sogenannte Packages schreiben. Diese werden mit LINK von der Diskette geladen und mit USE mit einem Programm fest verbunden. Beim nächsten Einladen des Programms stehen diese Erweiterungen sofort zur Verfügung. Auch kann man sich einen USER-Bereich reservieren lassen, in welchem sowohl Daten als auch Maschinenprogramme stehen dürfen.

Eine Reihe von fertigen Packages stehen schon zur Verfügung. Es ist hiermit eine LOGO-ähnliche Turtle-Grafik, ein eigener Zeichensatz, eigene Tastaturbelegungen, die Bedienung der RS-232-Schnittstelle sowie der Joysticks und der Erweiterungs-ROMs möglich. Als Bonbon wurde noch ein Package geschrieben, welches Grafik speziell für ernstere Anwendungen und Windowtechnik erlaubt. Selbstverständlich wurde auch eine Hardcopy-Routine für Grafiken eingebaut.

Einige Nachteile sind jedoch auch vorhanden. So kann zwar COMAL prinzipiell mit einem Kassettenrecorder betrieben werden. Einige wichtige Vorteile dieser Sprache fallen dann jedoch weg. Besonders negativ finde ich den geringen Speicherplatz von ca. 11 kByte. Dieser Mangel kann zwar prinzipiell durch Programmverkettungen aufgefangen werden - dies güt aber nicht für Daten.

Deutsche Fehlermeldungen

Auch das Handbuch ist mit 40 Seiten nur als dürftig zu bezeichnen. Man vermißt eine für den Anfänger geschriebene Einführung in die Programmierung mit COMAL. Andererseits fällt wiederum angenehm auf, daß schon bei der Eingabe die Zeilen geprüft werden und im Fehlerfall eine deutsche, recht genaue Meldung erscheint. Im übrigen ist es sogar möglich, das ganze Programm oder Teile davon im Einzelschrittbetrieb zu durchfahren. Dabei wird zuerst die Zeile angezeigt, auf einen Tastendruck gewartet und dann die Befehle dieser Zeile ausgeführt. Alle bewegten Variablen und Parameter werden dabei als aktuelle Werte mit ausgegeben. Diese Form des Protokolls läßt sich auch auf den Druckèr umleiten.

Wenn man COMAL mit dem direkten Konkurrenten Turbo-Pascal vergleicht, schneidet ersteres in den meisten FäUen besser ab. Dazu kommt noch der Preisunterschied: Kostet COMAL inklusive verschiedener Erweiterungen DM 69.-, so muß man für ein vergleichbares Paket Turbo-Pascal (mit Grafik und Tutor) mehr als das Zehnfache (!) auf den Ladentisch legen. Nachdem es jetzt auch einige deutschsprachige Literatur gibt und die Sprache von der COMAL-Gruppe Deutschland stark unterstützt wird, stellt sie eine interessante und empfehlenswerte Alternative zu Basic und Pascal dar.

S. Bauer , CPC Magazin

★ PUBLISHER: COMALGRUPPE-DEUTSCHLAHD
★ YEAR: 1986
★ CONFIG: 128K + CP/M
★ LANGAGE: ???
★ LiCENCE: COMMERCIALE



★ AMSTRAD CPC ★ DOWNLOAD ★

Advert/Publicité:
» Comal-80    GERMANDATE: 2014-05-05
DL: 259
TYPE: image
SiZE: 47Ko
NOTE: w439*h313

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Routines (Logistrad 10)
» Applications » Assemblor
» Applications » Symbol Poker (Compute Mit)
» Applications » Turbo-Sprites (Compute Mit)
» Applications » Transfert d'Images
» Applications » Z80 Relocator (Moj Micro)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 358 millisecondes et consultée 3962 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.