Maxon Pascal

center
Die Help-Funktion: Per Mausklick springt der Interface-Teil an

Pascal-Programmierern am ST fiel bisher die Programmwahl leicht. Einsam zog »ST-Pascal« von »CCD« seine Kreise. Nachteil des Marktführers, seine Inkompatibilität zu »Turbo- Pascal«. »Maxon-Pascal«, eine Entwicklerebene aus Dänemark, will jetzt das Tor zum PC weit öffnen.

Die Absicht von »Maxon«, ein Programmiersystem zu entwickeln, das zu zwei bestehenden Pascal-Dialekten kompatibel ist, hat sich als Gratwanderung auf einer Rasierklinge erwiesen: Wolf Dietrich, Marketingleiter des Eschborner Vertriebs ist indes zuversichtlich, daß proklamierte Ziel in kurzer Zeit zu erreichen: Die Verständigung mit »Turbo«- und »ST-Pascal« ist vorerst noch das große Problem des Testkandidaten. Käufern der Programmversion 1.0 wird deshalb auch ein kostenloser Upgrade-Service garantiert. Wolf Dietrich: »Die Kommunikationsfähigkeit des Produktes ist als Zugabe gedacht. Diesem Ziel werden wir, in Zusammenarbeit mit den Programmierern, schrittweise immer näher kommen.« Vorerst jedoch gilt: »Maxon-Pascal« entspricht Pascal-Konventionen und ist, unbeschadet einiger Inkompatibilitäten zu anderen Dialekten, ein eigenständiges Programmiersystem.

Auffällig ist zunächst die Programmkonzeption. Beim »ST-Pascal« wird die Entwicklungsumgebung vom »Pascal-Manager« gesteuert. Im wesentlichen ist diese Kommando-Unit eine wenn auch sehr komfortable - Shell. Einzelne Programme werden bei Bedarf nacheinander geladen. Ein umständliches Verfahren, daß aufgrund mangelnder Alternativen bisher nicht in der Kritik stand.

»Maxon-Pascal« hingegen ist eine Programmierebene aus einem Guß: Editor, Compiler und Linker sind zu einem Programm verschmolzen. Der Vorteil: Die gesamte Programmiersprache befindet sich während der Arbeit im RAM des ST. Bei kleinen Programmen verkürzen sich dadurch Turn- Around-Zeiten erheblich. Der Compiler übersetzt 20.000 Zeilen pro Minute. Im kurzen Sprint läßt er damit das »ST-Pascal« (5000 Zeilen/m) deutlich hinter sich.

Programmiersprachen-Tests lesen sich oft wie Eintragungen im »Guiness- Buch der Rekorde«: Schneller, kleiner, komfortabler. In der Praxis haben solche Komparative nur geringe Aussagekraft. Besonders die Anwender, die Disketten-Laufwerke anstelle von Festplatten einsetzen, profitieren kaum vom Turbo-Lader des Maxon-Produkts. Zumal die Aufteilung großer Programme in Module auch langsamen Compilern auf die Sprünge hilft. Wesentlich aufschlußreicher ist eine Unterscheidung der Programmiersystem hinsichtlich ihres Bedienungskomforts. Compiler und Linker können im »Maxon Pascal« über das Hauptmenü aufgerufen werden. Zusätzlich verkürzen Tastenkombinationen die Verweildauer auf der Oberfläche. Mit dem Befehl »Alt-R« werden Programme übersetzt, gebunden und ausgeführt. Bei Fehlern meldet sich der Compiler und kehrt in den Editormodus zurück. Der Cursor steht dann aber nicht immer in der fehlerauslösenden Zeile.

Vorläufig müssen noch alle Include-Files umständlich in den Text eingefügt werden. Der Editor bietet keine »Merge«-Funktionen an. Trickreich kann das gleiche Ergebnis mit dem »Copy/Paste«Befehl erzielt werden. Dazu genügt es, ein weiteres Fenster zu öffnen. Aufgrund der »Kompaktstruktur« der Programmierebene kann der Anwender nicht zwischen unterschiedlichen Editoren wählen. Unter TOS 1.2 arbeitet der Maxon-Editor langsam (GEM-Anwendung). Störend ist besonders das Nachlaufen des Cursors.

Eine glücklichere Hand bewiesen die Entwickler beim »Options-Menü«. Neben dem Compiler wird hier der Linker eingestellt. Mehrfachpfade können auf die »Unit«- und »Include-Directories« gesetzt werden. Das Unit- Konzept wurde von »Modula 2« bzw. »Turbo-Pascal« übernommen. Die Bedienung ist jedoch im Vergleich zum Modul-Konzept von »ST-Pascal« umständlicher.

Bemerkenswert auch, die »Online-Hilfe«: Mit der Help-Taste wird ein Fenster geöffnet. Noch ein Klick auf ein Thema, und der InterfaceTeil der entsprechenden Unit erscheint, mit Konstanten, Typen, Variablen und Funktions-Prozedur-Prototypen.

Der Turbo-Pascal-Standard ist für viele Programmierer am ST weiterhin das Maß aller Dinge. Daß gegenwärtig kein Pascal-Entwicklerpaket für den ST diese Vereinbarungen erfüllt, hat eine einfache Ursache: Den vielzitierten PC-Industriestandard gibt es nicht. Anstelle einer gültigen Einzelvereinbarung, erschweren mehrere unabhängige Standards die Orientierung. Angesichts mehrerer CPUS, verschiedener Methoden der Speichererweiterung und einem guten Dutzend Grafikkarten, steht der Pascal-Programmierer in ständiger Interaktion mit der Hardware-Umgebung. Massiv treten diese Probleme bereits bei der ansonsten unkritischen Programmentwicklungen für den Textmodus auf. Direkte Speicheradressierungen sind hier nicht möglich. Der linear adressierende 68000-Prozessor ist nicht für Segmente und Offsets ausgelegt. Programmie- rer, denen es gelingt diese Programmstrukturen umzurechnen, erwartet die nächste Hürde. Der PC legt WortBytes und Worte eines Langwortes immer vertauscht im Speicher ab und schreibt auf ungerade Adressen. Beim ST- Prozessor führt das immer zu Abstürzen.

center Compiler, Editor und Linker sind in ein System integriert

Abseits dieser Schwierigkeiten sind originäre DOS-Funktionen, wie z.B. »FindFirst« identisch. Dank GEMDOS, das eine Kopie von MSDOS ist. Hier zeigt sich auch, daß Kompatibilität zu TurboC durchaus herzustellen ist. Dazu fehlen Maxon-Pascal aber noch einige Features, an denen mittlerweile fieberhaft gearbeitet wird und für das nächste Upgrade avisiert sind. Das Menü- und Maskensystem des Darmstädter Produkts benötigt Typenkonstante (z.B. Arrays), die in jedem Turbo-Pascal-Programm häufig vorkommen.

Auch da, wo der ST mit PC-ähnlichen Funktionen aufwerten kann, hat das Pascal von Maxon den Mut zur Lücke. Vorerst können noch keine Videoattribute gesetzt werden. Zur Zeit eignet sich die Version 1.0 zur Entwicklung von Programmen, die sich Pascal-Konventionen orientieren, bzw. sich auf höheren DOS-Etagen bewegen. Der Zugriff auf typische Turbofunktionen ist durchaus möglich.

Integration der Software-Basis

Neben der erst ansatzweise erreichten Portabilität auf PC-Systeme, muß sich Maxon-Pascal an seiner Kompatibilität zum bisher einzigen Atari-Dialekt »ST-Pascal« von »CCD« messen lassen. Systemumsteiger können nur gewonnen werden, wenn die Integration ihrer SoftwareBasis gewährleistet ist.

Beim Maxon-Pascal implementiert die Unit »STPASCAL.UNI« Konstanten, Variablen, Typen, Funktionen und Prozeduren aus den STPascal-Libraries »PASLIB«, »PASGEM« and »PASTRIX«. Um die Schnittstellte zum ST-Pascal nutzen zu können, sind mehrere Arbeitsschritte notwendig. Je nach Programmierstil, eine mehr oder weniger zeitraubende Tätigkeit. Zuerst müssen die Includes »$I GEMCONST«, »$I GEMTYPE«, »$I GEMSUBS«, »$I TRIXCONS«, »$I TRIXTYPE« und »$I TRIXSUBS« entfernt und durch »USES STPascal;« ersetzt werden. Wenn trotz der Anpassung Schwierigkeiten auftreten, können folgende Inkompatibilitäten die Ursache sein: Die Logik-Operatoren »i« (OR), »&« (AND) und » ~« (NOT) sollten ausgeschrieben werden. Ebenso muß der Dateizugriff neu vereinbart werden. (Die Befehle »put« und »get« unterstützt MaxonPascal noch nicht). »IO_Check«-Aufrufe sind durch »{$I+}« bzw. »{$I-}« zu ersetzen. »SHL«- und »SHR«-Definitionen sollten »i: = 2 SHL 4« statt »i:=SHL(2,4)« lauten.

Units besser als Module

Entsprechend müssen Compiler-Optionen und Units angepaßt und neu formuliert werden. Aufwendig vor allem bei Modulen. Der Code muß exakt auf den Interface- bzw. Implemenationspart verteilt werden. Trotzdem lohnt sich der Aufwand: Units sind in einigen Programmen besser zu verwenden als ST-PascalModule. »BIOS«-, »XBIOS«-, und »GEM-DOS«-Aufrufe sind nur zum Teil in MaxonUnits enthalten. Bei der »BIOS-Unit« stimmen die Namen überein, nicht aber die Parameterfolgen.

Nach Auskünften von Maxon, soll das Entwicklerpaket künftig mit Beispielen ausgeliefert werden, die dem Anwender die Anpassung an ST- Pascal-Programme erleichtern. Die Funktionen »readv« und »writev« werden durch »val« und »str« ersetzt (ebenso »loop ... end«, »put« und »get«). Auch »BIOS«- und »XBIOS«-Aufrufe, die noch im »DR«-Standard arbeiten, entsprechen dann ST-Pascal-Konventionen.

Bereits die angekündigte nächste Programmversion wird zeigen, ob Maxon dem erklärten Ziel, Kompatibilität zu Turbo-Pascal, näher gekommen ist. Ein »BGI-Treiber« für PC-Grafik soll zumindest schon zum Programmumfang des Upgrades gehören.

Peter Wollschlaeger

Maxon Pascal

Art: Pascal-Entwicklungssystem
Vertrieb: Maxon Computer GmbH, Industriestr. 26, 6236 Eschborn
Preis: 259 DM

Stärken:

Schwächen:

Fazit: Für eine neue Programmierer-Generation schon heute eine Alternative zum ST-Pascal. Wenn die Kompatibilität zu Turbo-Pascal hergestellt wird, unverzichtbar für alle, die sowohl auf dem ST wie auch auf dem PC in Pascal programmieren.


Peter Wollschlaeger
Aus: ST-Magazin 10 / 1990, Seite 102

Links

Copyright-Bestimmungen: siehe Über diese Seite