Maxon Pascal 1.0: Renaissance auf dem Pascal-Markt

Volle Kompatibilität zu Turbo Pascal 5.0, einfaches Anpassen von ST-Pascal-Quelltexten, integrierte Entwicklungsumgebung und hohe Ausführungsgeschwindigkeit compilierter Programme -- das sind die Punkte, mit denen Maxon sein neues Pascal bewirbt. TOS prüft, inwiefern diese Sprache ihrem Ruf gerecht wird.

Bild 1. Die integrierte Entwicklungsumgebung enthält alles, was der Pascal-Programmierer für seine Arbeit benötigt

Anfang der 70er-Jahre trat Pascal in die Arena der Programmiersprachen, um den bis dahin üblichen »Spaghetti-Programmen« ein Ende zu bereiten. Trotz seiner Beliebtheit, besonders im Universitätsbereich, fristete Pascal auf dem ST von je her ein Schattendasein. Jetzt will Maxon-Pascal auf dem ST an den großen Erfolg von Turbo-Pascal auf MS-DOS-Computern anschließen. Wie auch Turbo C auf dem ST bietet Maxon Pascal dem Programmierer eine integrierte Entwicklungsumgebung. Ohne diese zu verlassen, kann er Quelltexte editieren, compilieren und die fertigen Programme starten.

Der Editor

Der Editor verwaltet bis zu sieben Texte gleichzeitig. Jeder Text besitzt ein eigenes GEM-Fenster (siehe Bild 1), wobei die Anzahl der Zeilen und Spalten lediglich vom freien Speicher abhängen. Die Funktionen des Editors sind in zwei Pull-Down-Menüs gesammelt und beschränken sich auf Blockoperationen, das Auffinden und Ersetzen von Textstellen und das Springen an Zeilen. Alle anderen Funktionen lassen sich - ganz im Sinne des auf dem Macintosh standardisierten Benutzer-Interfaces - über die Tastatur und Maus erreichen.

So markieren Sie Textblöcke, indem Sie mit der Maus auf die gewünschte Startmarke klicken und bei gedrückter Maustaste den Bereich aufziehen. Fahren Sie dabei mit der Maus aus dem Fenster, so scrollt der Editor den Text entsprechend mit. Klicken Sie zweimal auf die Startmarke, so selektieren Sie wortweise. Über das »Edit«-Menü verarbeiten Sie den Block nun weiter: Mit »Cut« schneiden Sie den Block aus dem Text heraus und legen ihn in einem internen temporären Puffer ab. »Copy« kopiert ihn nur, ohne ihn zu aus dem Text zu entfernen. Mit »Paste« kopieren Sie den Puffer an die aktuelle Cursorposition. »Indent« und »Outdent« schieben den Block ein Zeichen nach Iinks bzw. rechts.

Mit den Cursortasten bewegen Sie den Cursor im Text und scrollen den Text hinauf bzw. hinunter. Bei gedrückter < Shift >-Taste blättern Sie den Text seitenweise. Dies alles führt der Editor in beeindruckender Geschwindigkeit durch. Im »Search«-Menü finden sich die Standardfunktionen zum Suchen und Ersetzen. Sehr praktisch ist »Cycle Window«: Damit wechseln Sie schnell zwischen den Fenstern und müssen etwa nicht alle überlappenden Fenster wegklicken, um das unterste Fenster zu aktivieren. Leider fehlen dem Editor zwei sehr praktische Tastenfunktionen, die den ansonsten perfekten Eingabekomfort abrunden würden: wortweises Springen und das Löschen der aktuellen Zeile. Außerdem verwendet der Editor keine Tabulatoren-Zeichen, sondern füllt den Bereich mit Leerzeichen auf. Dies ist vor allem beim Entfernen einer Einrückung sehr zeitraubend; außerdem geraten die Quelltexte dadurch unnötig lang.

Das Hilfesystem

Hand in Hand mit dem Editor geht das Hilfesystem von Maxon Pascal. Sind Sie sich beispielsweise über den korrekten Syntax einer Anweisung nicht im Klaren (siehe Bild 3), so rufen Sie mit der < Help >-Taste das Inhaltsverzeichnis des Hilfesystems auf. Es erscheint ein neues Fenster. Unterstrichene Worte sind Verzweigungen. Klicken Sie darauf, so bekommen Sie Hilfe über das entsprechende Thema. Darin finden Sie stets Verzweigungen zu ähnlichen Themen. Mit < Undo > blättern Sie Ihre aufgerufenen Themen wieder zurück. Eine weitere Methode, um überein Thema Hilfe zu bekommen, ist, daß Sie im Text den fragwürdigen Ausdruck (z.B. »Type«) als Block markieren und die Hilfe aufrufen. In diesem Fall erscheint sofort die entsprechende Hilfsseite. Das Hilfesystem bietet umfassende Informationen zu allen Units (Pascal-Bibliotheken), zum Menü, zur Pascal-Sprache und zu Compiler-Einstellungen und -Fehlermeldungen - mit einem Wort: zu allem, was der Programmierer braucht. Das ganze hat im Moment noch eine Schwäche: Die Hilfstexte wie auch die gesamten Menütexte sind in Englisch.

Bild 2. Alle wichtigen Funktionen und über die Menüleiste schnell abzurufen

Der Compiler

Der Pascal-Compiler ist wie der Editor und das Hilfesystem Bestandteil der Entwicklungsumgebung und besitzt ein eigenes Pull-Down-Menü. Alle Compiler-Funktionen beziehen sich stets auf das aktive Quelltextfenster. »Run« compiliert den aktuellen Quelltext und startet das Programm automatisch. »Compile« compiliert den Text und kehrt wieder in den Editor zurück. »Make« entspricht »Compile« mit dem Unterschied, daß im Quelltext angesprochene externe Programmteile (Units) beachtet werden. »Find Error« findet die Stellen im Quelltext, die bei der Programmausführung Runtime-Fehler verursachten.

Unter dem Menü »Options/Compiler...« konfigurieren Sieden Compiler. Hier bestimmen Sie beispielsweise, ob der Compiler Stack- und Arraygrenzen überprüft oder die Symbolnamen für den Debugger beibehält. Alle Schalter können Sie auch explizit im Quelltext mit der Direktive »{...}« setzen. Wie auch Turbo Pascal erlaubt Maxon Pascal die Compilierung des Programmes direkt in den Speicher (»Destination: Memory«). Dies ist sehr praktisch und spart während der Entwicklung sehr viel Zeit. Apropos Zeit, die Compilierungsgeschwindigkeit von Maxon Pascal ist beeindruckend. Kürzere Programme, beispielsweise die Test-Benchmarks, waren innerhalb von von weniger als zwei Sekunden fertig. Auch längere Programme benötigen nur kurze Zeit. Findet der Compiler einen Fehler, so erscheint eine entsprechende Meldung mit - soweit möglich -einem konstruktiven Verbesserungsvorschlag (z. B. »:= expec-ted.«). Anschließend setzt Maxon Pascal den Cursor auf die fehlerhafte Stelle im Quelltext.

Von der Ausführgeschwindigkeit compilierter Programme hatte ich mir mehr erwartet. In der Benchmarktabelle ersehen Sie, daß Maxon Pascal bis auf Bitoperationen langsamer ist als ST-Pascal - ganz zu schweigen von Turbo C. Die Programmgröße war bei den von uns getesteten Programmen im Gegensatz dazu stets geringer als bei ST-Pascal.

Benchmark-Tabelle

ArtMaxon Pascal (V. 1.009)ST-Pascal 2.07Turbo Pascal (auf AToncs)
Schleifen, Strings, Prozedur-Aufruf, Zuweisungen, Real-und Integerarithmetik 17,37 s/6104 Byte 11,35 s/6874 Byte 10s/4320 Byte
Integeroperationen und -arithmetik 19,91 s/3748 Byte 15,12 s/3808 Byte 19 s/2432 Byte
Bitoperationen 8 s/3548 Byte 12,34 s/3586 Byte 8,6 s/2464 Byte

Leider noch nicht in der von uns getesteten Version enthalten ist die für die Version 1.1 versprochene Mathe-Coprozessor-Unterstützung und ein Inline-Assembling. Im Moment beschränkt sich die Unterstützung lediglich auf den 68000-Prozessor - Entwickler für den TT bzw. für 68020/30-Austauschkarten können deren volle Power noch nicht nutzen.

Die Kompatibilität

Maxon Pascal ist deutlich auf Turbo Pascal 5-Kompatibilität hin ausgerichtet. So hat es auch das Unit-Konzept übernommen. Units sind vergleichbar mit Funktionsbibliotheken, aber leichter zu entwickeln und zu verwalten. Um eine Unit zu entwickeln, leiten Sie einen Quelltext statt mit »Program...« mit »Unit...« ein. Darauf folgt eine Liste aller zu exportierenden Prozeduren und Funktionen. Nach dieser Einleitung kommen die üblichen Prozeduren- und Funktionsdefinitionen. Um eine Unit in eigenen Programmen zu verwenden, schreiben Sie ganz einfach »Uses MyOwnUnit;«.

Die zum Lieferumfang von Turbo Pascal 5 gehörenden Units »BGI« (Borland Graphics Interface) und »CRT« Textausgabe und -Steuerung) fehlten in der uns zum Test vorliegenden Version. Maxon hat jedoch zugesichert, daß die CRT-Unit der Version 1.01 beiliegen wird. Die BGI-Unit ist für die Version 1.1 geplant.

Bild 3. Das kontextsensitive Hilfesystem erspart dem Programmierer den Griff zum Handbuch

Die Datentypen von Turbo Pascal wurden alle übernommen, lediglich »Word« (0 bis 65535) benötigt vier statt zwei Byte. Einige der Turbo Pascal eigenen Sprachele-mente, wie etwa typisierte Konstanten, sind in Maxon Pascal bisher noch nicht übernommen; die Entwickler wollen jedoch die Sprachanpassung in eine der nächsten Versionen vervollständigen. Mit der Kompatibilität zu ST-Pascal sieht es etwas schlechter aus. Die »STPascal«-Unit enthält zwar nahezu alle ST-Pascal-spezifischen Datentypen, Prozeduren und Funktionen, doch die Bitoperatoren »I«, >&< usw. muß der Programmierer per Hand zu : >On< , And« usw. konvertieren. Fairerweise muß man allerdings erwähnen, daß das Handbuch und ein Diskettentext die Konvertierungsschritte ausführlich erklärt - so daß nach einigen Minuten jedes Programm übertragen sein sollte.

Über das endgültige deutsche Handbuch läßt sich leider noch nichts sagen - zum Test lag uns lediglich die vorläufige, englischsprachige, 290seitige Ausführung vor. Diese hinterließ einen eher negativen Eindruck - keine brauchbare Spracheinführung, zu kurze Funktionsbeschreibungen und wenig Übersichtlichkeit.

Fazit

An einigen Dingen, wie etwa Code-Optimierung, 68030/881 / 882-Unterstützung und volle Turbo Pascal-Sprachkompatibilität, sollten die Entwickler noch arbeiten. Ebenso würde ich mir einen integrierten Quelltext-Debugger (à la Turbo Pascal) und einen Resource-Editor in der nächsten Version wünschen. Davon abgesehen bietet Maxon Pascal schnelles und komfortables Entwickeln zum fairen Preis von 259 Mark.

Bezugsquelle: Maxon Computer GmbH, Industriestr. 26, D 6236 Eschborn

WERTUNG

Name: Maxon Pascal
Preis: 259 Mark
Hersteller: D-House

Stärken: Integrierte Entwicklungsumgebung □ schneller Compiler □ Compilierung direkt im Speicher □ ausführliches Hilfesystem

Schwächen: Englische Texte □ nur 68000-Unterstützung □ einige Sprachelemente von Turbo Pascal/ST-Pascal fehlen

Fazit: Zwar nicht vollkommen ausgereiftes, aber sehr komfortables und schnelles Pascal-Entwicklungssystem


Martin Backschat
Aus: TOS 11 / 1990, Seite 28

Links

Copyright-Bestimmungen: siehe Über diese Seite