Vergleich: Vier Modula-2-Entwicklungssysteme im Konkurrenzkampf

»C ist die schnellste Hochsprache auf dem Atari ST.« Dieser Satz war bis jetzt uneingeschränkt gültig. Doch mit dem neuen Jahrzehnt erblickt auch eine neue Modula-Generation das Licht der Atari-Welt. Modula-Compiler - nicht mehr elitär, edel und träge und nur für Informatiker bestimmt, sondern Systeme, die Tempo machen und der Konkurrenz die Zähne zeigen. Durchbrechen diese neuen Compiler die Schallmauer der C-Compiler? Sind diese Systeme dem harten Programmieralltag gewachsen? TOS nimmt für Sie vier mächtige Modula-2-Systeme unter die Lupe.

Drei alte Hasen und ein Neuling -so tritt der Modula-Clan zum Vergleichskampf an: Der Hänisch-Compiler besitzt den Ruf, der schnellste zu sein. Das SPC-System besitzt Multitasking und die Benutzerschnittstelle SSWiS. Megamax Modula ist bekannt für die hervorragenden Bibliotheken und den Inline-Assembler; böse Zungen bezeichnen den Compiler selbst als Zugabe zu den Bibliotheken. Das System von FTL ist relativ neu auf dem deutschen Markt und hat einen Bruder in der MS-DOS-Welt.

FTL-Modula-2

Das System von FTL kann seine Herkunft aus dem MS-DOS-Bereich nicht verleugnen. Die Bedienung ist in erster Linie kommandozeilenorientiert. Dazu verwenden Sie ein Programm namens »Batcher«. Dieser Batcher ist ein an »COMMAND.COM« angelehnter Kommandozeilen-Interpreter. Leider fehlt ihm die »IF Errorlevel«-Abfrage von MS-DOS. Damit wäre beispielsweise die Einbindung von »Tempus« in das FTL-System ein Kinderspiel. Es ist merkwürdig - alle Modula-Hersteller erlauben dem Anwender, Tempus in die Entwicklungsumgebungen zu integrieren, nur der Tempus-Hersteller und FTL-Modula-Vertrieb CCD kümmert sich nicht darum.

Wer eine integrierte Oberfläche der Kommandozeile vorzieht, den läßt FTL nicht alleine. Vom Editor aus lassen sich alle wichtigen Funktionen des Systems aufrufen. Für weiterreichende Aufgaben rufen Sie den Batcher vom Editor aus auf. Insgesamt ist die Benutzeroberfläche des FTL-Systems als ausreichend zu bezeichnen. Durch den Einsatz einer anderen Shell, wie etwa Gemini, holen Sie noch einiges an Komfort heraus. Der Editor verwaltet mehrere Fenster gleichzeitig und orientiert sich bei den Befehlen am Wordstar-Standard. Über Makros lassen sich auch eigene Tastenbelegungen erzeugen. Der Editor unterstützt auch den Aufruf von Compiler, Linker und Anwenderprogrammen. Funktionen zum Speichern eines markierten Textausschnitts und zum Speichern der Datei unter einem neuem Namen fehlen dem FTL-Editor allerdings.

Das FTL System besitzt einen eigenen Assembler, der als eigenständiges Programm arbeitet - und somit kein Inline-Assembling im Modula-Quelltext zulässt. Nach den Anmerkungen im Handbuch scheint es sich beim Assembler um kein hundertprozentig stabiles Produkt zu handeln. Denoch ist er für manche Optimierungen ein nützliches Werkzeug.

Der FTL-Compiler hält sich voll an den PIM-3-Standard (N. Wirth, »Programmieren in Modula«, Auflage 3). Compiler-Optionen stellen Sie über Environment-Variablen oder im Programmtext ein. Die Arbeitsgeschwindigkeit des Compilers ist hoch, unangenehme Wartezeiten treten nicht auf. Bei Programmfehlern fährt der Compiler auf Wunsch fort, den restlichen Quellcode nach weiteren Fehlern zu durchsuchen. Der Mathe-Coprozessor wird - wenn vorhanden - automatisch erkannt und aktiviert.

Unter FTL müssen Sie Ihre Programme immer linken. Das System besitzt kein Load-Time-Linking. Der mitgelieferte Linker erzeugt bei Bedarf zusätzlichen Code für den Debugger und Profiler.

Der Quelltext-Debugger testet Programme auf Wunsch schrittweise. Dabei lassen sich auch Breakpoints setzen. So sehen Sie während der Programmausführung die Variableninhalte, in der Entwicklungsphase eines Programmes ist das ausgesprochen wichtig. Wer großen Wert auf schnelle Programme legt, kann mit dem mitgelieferten Profiler nach zeitraubenden Programmteilen fahnden, um diese dann gezielt zu optimieren.

Die Bibliotheken des FTL-Modula-Sytems sind nicht besonderes leistungsfähig. Viele der bei der Konkurrenz üblichen Routinen fehlen. Es gibt noch nicht einmal vernünftige Routinen für das Dateisystem. Deshalb ließen sich die Write- und ReadToFile-Benchmarktests (AGBench, siehe Benchmark-Tabelle am Ende des Artikels auf Seite 124) nicht vernünftig programmieren. Aus diesem Grund fehlen in der Tabelle die Ergebnisse des FTL-Systems. Das Handbuch ist übersichtlich aufgebaut und besitzt ein Stichwortverzeichnis. Die Ausführungen sind in der Regel ausreichend, bisweilen jedoch etwas zu knapp. Die Spracheinführung im Handbuch richtet sich in erster Linie an ehemalige Pascal-Programmierer, aber auch C-Aussteiger dürften damit einigermaßen zurecht kommen.

WERTUNG

Handbuch

Umfang ca. 480 Seiten
Spracheinführung: Ausreichend
Installationsanleitung: Ja
Problemlösungen: Kaum
Funktionserklärungen: Ja
Beispiele: Ja
Zugänglichkeit: Gut

Lieferumfang
Editor: Zwei Editoren Makrofähiger GEM Editor, Wordstar ähnlich
Debugger: Source Level Debugger
Resource Editor: WERCS relativ komfortabel mit Icon Editor
Sonstiges: Profiler, Make Utility

Sprache
Standard: PIM 3
Fehlerbehandlung: Ja Code Optimierung AG ßench 36456 Byte

Megamax Modula-2

Der Megamax-Compiler gehört zu den Oldies unter den Modula-Compilern. Das System wurde bereits auf dem Gepard, einem der ersten 68000-Computersysteme in der Preisklasse unter 10000 Mark, entwickelt. Schon Mitte der 80er Jahre entstand unter diesem Modula-System das Betriebssystem des Gepard. Dem Gepard war kein großer wirtschaftlicher Erfolg beschieden, und so wurde das System auf den Atari ST übertragen. Geblieben ist dem Megamax die besondere Eignung für systemnahe Aufgaben. So ist das Megamax-System das einzige der vier hier vorgestellten Pakete, das über einen Inline-Assembler verfügt.

Für Modula-Puristen ist dieses Feature ein rotes Tuch, weil es keinerlei Kompatibilität zu anderen Computer-Systemen gewährleistet. Systemprogrammierer befinden sich mit ihrer Arbeit jedoch oft genug jenseits der Grenzen der Portabilität, so daß für sie durch die Verwendung des Assemblers an kritischen Stellen vor allem Vorteile entstehen.

Die Shell von Megamax-Modula ist am GEM-Desktop orientiert. Laufwerke, Compiler, Editor, Papierkorb, Scanner und Linker sind als Icons dargestellt. Zudem lassen sich noch zusätzliche Icons für die wichtigsten Arbeitsdateien erzeugen. Alle Icons dürfen Sie auf dem Desktop frei verschieben. Der Desktop-Zustand wird auf Wunsch beim Verlassen der Shell gespeichert. So richten Sie sich eine persönliche Oberfläche ein. Die Laufwerk-Symbole öffnen Sie wie beim Atari-Desktop durch Doppelklick. Mit dem Mauszeiger ziehen Sie dann die Dateisymbole auf die Funktions-Icons - ebenso wie beim Dateien-Kopieren unter GEM.

Gerade Modula-Einsteiger werden sich darüber sehr freuen, denn sie können sich voll auf dhe vielfältigen Fähigkeiten des Entwicklungssystems stürzen, ohne viel Zeit im Kampf mit der Benutzeroberfläche zu vergeuden. Alle Desktop-Funktionen sind vorhanden, bis hin zum Formatieren von Disketten. Erfahrene Anwender können fast alle Funktionen der Shell auch über Tastaturkommandos nutzen. Mausfaule Entwickler verbannen somit das graue Nagetier getrost in die Schublade.

Zusätzlich zu den eingebauten Funktionen verleihen Sie der Shell durch das Anmelden von Tools weitere Fähigkeiten. Durch Batch-Dateien machen Sie sich das Leben noch leichter.

Der Compiler selbst war bisher der Schwachpunkt des Megamax Systems. Das hat sich gründlich geändert. Auch wenn die uns zur Verfügung stehende Beta-Test-Version noch nicht freigegeben ist - sie macht einen sehr stabilen Eindruck. Auch größere Programme lassen sich fehlerfrei übersetzen. Lediglich bei der neuen Short-real-Arithmetik treten noch Fehler auf. Die normale Real-Arithmetik funktioniert problemlos. Bei den Benchmarks zeigt der neue Megamax, was er kann. Mit über 900 Dhrystones führt jetzt er das Feld der Modula-Compiler an. Sogar etliche C-Compiler hatten das Nachsehen. Sowohl Mark-Williams-C als auch Laser-C schnitten bei diesem Test schlechter ab. Klarer Spitzenreiter ist und bleibt jedoch Turbo-C, das von einem Single-Pass-Compiler wohl nie geschlagen wird.

Auch am Sprachumfang des Compilers hat sich einiges getan. Die Abweichungen vom PIM-3-Standard sind beseitigt. Außerdem besitzt der Compiler bereits einige der Neuerungen, die im Rahmen des ISO-Standards für Modula kommen, wie etwa die REF-Parameter. Die Rückgabe komplexer Datentypen beherrschte der Megamax-Compiler schon immer. Mit der Standardisierung wird diese angenehme Erweiterung wohl endlich »legalisiert«. Die Compilierungungzeiten liegen beim neuen Megamax-Compiler deutlich niedriger als beim alten System. Mit etwas über 5000 Zeilen pro Minute liegt er gleichauf mit dem SPC-Compiler, jedoch deutlich hinter Hänisch-Modula. Der Megamax-Compiler kann nach Programmfehlern nicht weiter compi-lieren. Das ist bei der hohen Übersetzungsgeschwindigkeit zwar kein großes Manko, aber denoch ein Nachteil gegenüber FTL und SPC.

Die Bibliotheken von Megamax-Modula sind noch umfangreicher geworden. Eine Beschreibung des Angebots würde den Rahmen dieses Artikels erheblich überschreiten.

Zwei Editoren gehören zu MM2: zum einen der GME, den Sie einerseits über die Tastatur mit Wordstar-kompatiblen Befehlen oder über die GEM-Menüleiste steuern. Der GME verwaltet mehrere Texte gleichzeitig und bietet die üblichen Funktionen. Leider frißt dieser Editor extrem viel Speicherplatz. Benutzer von 1 MByte und weniger können mit ihm kaum etwas anfangen.

Der zweite Editor des Megamax-Systems ist der Gepard-Editor. Er stammt, wie der Name schon signalisiert, noch aus der Gepard-Ära. Der Editor wurde und wird jedoch gepflegt und erweitert, so daß er ein passables Funktionsspektrum bietet. Der größte Nachteil dieses schnellen TOS-Editors ist seine extrem eigenwillige Bedienung. Er unterscheidet zwischen verschiedenen Modi: ein Modus ausschließlich zum Einfügen, einen zur Textbearbeitung und einen für die Editor-Funktionen. Wer unter UNIX den Vl-Editor kennt, kann sich davon eine Vorstellung machen. Die Mehrheit der Benutzer wird diesem Editor nichts abgewinnen. Vor allem Anwender, die aus Speicherplatzgründen auch den GME nicht nutzen können, wollen einen anderen Editor verwenden. Das ist kein Problem. Gerade der beliebte Tempus arbeitet gut mit dem Megamax-Modula zusammen, doch auch alle anderen Editoren lassen sich verwenden.

Der Linker des Megamax-Systems kennt drei Verfahren:

So können Sie die bereits geladenen Module mitbenutzen. Das ist auch der Grund dafür, daß die Megamax-Shell knapp 240 KByte groß ist. Denn die Anwender-Programme benutzen einfach die in der Shell enthaltenen Module mit. Im Endeffekt spart dies sogar Speicher.

Das Handbuch des Megamax-Compilers lag uns nur in einer Vorabversion als Signum-Ausdruck vor und war noch nicht ganz vollständig. Es machte jedoch den gleichen guten Eindruck wie das alte Handbuch.

WERTUNG

Handbuch
Umfang: Das Handbuch war bei Redaktionsschluß noch nicht vollständig
Spracheinführung: Nein
Installationsanleitung: Ja
Problemlösungen: ?
Funktionserklärungen: Ja
Beispiele: Ja
Zugänglichkeit: ?

Lieferumfang
Editor: GEM- und TOS-Editoren unterstützen besonders den Compiler. Andere Editoren laufen problemlos.
Debugger: Mit Trace Funktionen Nach Laufzeitfehlern kann die Aufrufkette verfolgt werden
Resource-Editor: K-Resource
Sonstiges: Make, Referenzanlysator, Templemon

Sprache
Standard: PIM-3 mit ISO
Fehlerbehandlung: Laufzeitfehlerbehandlung
Code Optimierung AG Bench: 36030 Byte

Hänisch-Modula-2

Den Hänisch-Compiler installieren Sie als Accessory. Das ist mit Sicherheit nicht die optimale Methode, denn der Compiler braucht über 200 KByte Speicher. Einige Anwenderprogramme haben auf 1 MByte Systemen mit so viel fehlendem Speicher erhebliche Probleme. In diesem Fall müssen Sie erst das Accessory abmelden und den Computer neu starten. Die Benutzung des Compilers geht auf diese Weise allerdings einfach und schnell vonstatten.

Hänisch-Modula hat mit atemberaubenden 20000 Zeilen pro Minute nach wie vor den schnellsten Modula-Compiler auf dem ST. Obwohl er ein Zwei-Pass-Compiler ist, schlägt er die Konkurennz um Längen. Bei der Code-Geschwindigkeits-Optimierung nutzt er die Vorteile dagegen nicht, die das Zwei-Pass-Konzept prinzipiell bringt. Hänisch-Modula optimiert auch nicht besser als die drei Ein-Pass-Systeme. Dafür bietet er als einziges System eine eigene Code-Erzeugung für die 68020-und 68030-Prozessoren. Der Mathe-Coprozessor wird von Hänisch-Modula erkannt und automatisch eingesetzt. Der Compiler erfüllt die Spezifikationen von N. Wirth nicht vollständig. So sind beispielsweise positive Subranges auf Integer Typen nicht vorgesehen. Das Handbuch des Hänisch-Compilers ist nicht mehr aktuell. Es bezieht sich auf eine sehr viel ältere Version. Das ist ein großes Problem beim Kennen lernen des Compilers, denn die Unterschiede zwischen beiden Versionen sind doch erheblich. Insgesamt läßt sich die Hänisch-Dokumentation als sehr spärlich bezeichnen. Da setzen die drei Mitbewerber ganz andere Maßstäbe. Eine neue Version, die uns leider vor Redaktionsschluß nicht mehr erreichte, bietet einige Vorteile: Den Compiler starten Sie nun auch als parameterübernehmende TOS-Anwendung (».TTP«) oder als GEM-Anwendung (».PRG«). Damit ist ein großes Ärgernis beseitigt.

Die Dokumentation wird aktualisiert und soll aus drei Bänden in der Junior- und aus zwei Bänden in der Profi-Version bestehen. Ob er dann an die Qualität der anderen heranreicht, wird sich zeigen. Neu ist auch, daß Hänisch jetzt zwei unterschiedliche Versionen anbietet. Wesentlichstes Merkmal der Junior-Version für 298 Mark ist, daß Sie damit entwickelte Programme nicht verkaufen dürfen. Es ist lediglich die Weitergabe als PD oder Shareware erlaubt. Die Profi-Version enthält zusätzlich noch einen Run-Time-Debugger. Mit 770 Mark ist die Profi-Version das mit Abstand teuerste Modula-System auf dem ST. Ob auch Verbesserungen an der Codeerzeugung stattfanden, geht aus der uns zur Verfügung stehenden Unterlagen nicht hervor. Wir werden Ihnen das neue Hänisch-Modula-2 in einer der nächsten Ausgaben noch ausführlicher vorstellen.

WERTUNG

Handbuch (alte Version)
Umfang: ca. 250 Seiten
Spracheinführung: Keine
Installationsanleitung: Bezieht sich auf eine ältere Version
Problemlösungen: Kaum
Funktionserklärungen: Sehr knapp
Beispiele: Ja Zugänglichkeit: Befriedigend

Lieferumfang
Editor: Schneller GEM Editor
Debugger: Post Mortem Debugger
Resource Editor: Nein
Sonstiges: Object Cache

Sprache
Standard: PIM 3, mit kleinen Einschränkungen.
Fehlerbehandlung: Ja
Code Optimierung: AG Bench 48206 Byte

Modula arbeitet im Baukastensystem. Vorteil: Auch komplexe Programme bleiben übersichtlich, Routinen lassen sich leicht in neuen Programmen wiederverwenden.

SPC-Modula-2

Der Compiler von SPC-Modula entstand an der ETH-Zürich. Er stammt, wie auch der LPR-Compiler (PD-System der TU München) direkt aus dem Umfeld des geistigen Vaters von Modula-2, Niklaus Wirth.

Die xShell ist das Herz des SPC-Systems. Sie ist als Pseudo-Multitasking-Programm unter SSWiS realisiert. Die xShell könnte mit ihren Fähigkeiten ein mächtiges Hilfsmittel bei der Programmierung sein. Insbesondere durch die Zusatzmodule wie den Filer ist sie sehr vielseitig. Leider ist jedoch die Bedienung für GEM gewohnte Benutzer sehr verwirrend, denn hier funktioniert beispielsweise das sonst übliche Verschieben von Icons nicht. Bei Fehl bedien ungen reagiert die Shell in manchen Fällen einfach gar nicht. Dem Anwender wäre an dieser Stelle mit einer Fehlermeldung wesentlich mehr geholfen. Für die Programmierer der Shell wäre das ein Aufwand von einigen Zeilen Quelltext, denn die Fehlbedienung an sich erkennt die Shell ja offensichtlich schon jetzt. Das Multitasking-Konzept des SPC-Systems bereitet Besitzern von Großbildschirmen viel Freude. Sie können die vielen gleichzeitig geöffneten Fenster wirklich nutzen. Wer jedoch nur einen SM 124 besitzt, hat dabei zum Teil erhebliche Probleme. Der Bildschirm ist einfach zu klein für das, was die xShell und ihre Hilfsprogramme da an Fenstertechnik liefern. So kommt es, daß der Anwender laufend mit sich überlappenden Fenstern kämpft. Weniger wäre hier mehr. Eine gute Sache ist die Online-Hilfe. Sie ist angenehm strukturiert und leicht zu bedienen.

Die Code-Erzeugung des SPC ist mittelmäßig. Das schlechte Ergebnis beim Dhrystone-Benchmark liegt zum Teil an der schlechten String-Bibliothek von SPC und nicht am Compiler. Der Sprachstandard PIM-3 wird nicht vollkommen erfüllt. Offensichtlich sind in den Compiler ein paar Dinge aus PIM-4 eingeflossen. PIM-4 wurde von den meisten Modula-Entwicklern nicht mehr implementiert. Deshalb gilt PIM-3 bis zur bevorstehenden ISO-Norm noch als Standard. Mit 5000 Zeilen pro Minute ist der SPC-Compiler schnell genug, um zügiges Arbeiten zu gewährleisten. Auch er arbeitet bei Programmfehlern weiter. Die nach Fehlern vom Compiler ausgegebenen Meldungen sind zwar mit Vorsicht zu geniessen, aber dennoch oft hilfreich. SPC-Modula hat keinen optimierenden Linker. Es bindet immer das ganze Modul ein, auch wenn das Programm nur einzelne Prozeduren benötigt. Dieses Vorgehen bläht die Programme ganz erheblich auf. SPC hat jedoch angekündigt, diesen Mangel in der nächsten Version zu beheben. Besonders bemerkbar macht sich das natürlich bei kleineren Programmen wie den Benchmarks. Beachten Sie bei der Beurteilung der Programmlänge, daß beim SPC-Modula die Ausgabe in ein SSWiS-Fenster erfolgt, was natürlich wesentlich mehr Code erfordert. Unerklärlich ist, warum ein deutscher Hersteller wie Advanced Applications darauf kommt, die Bibliotheksmodule in Englisch zu dokumentieren. Wäre eine deutsche Dokumentation doch quasi zum Nulltarif zu haben gewesen. Da die Listings der Bibliotheken etwa die Hälfte des Handbuchs ausmachen, bekommen Anwender, die mit der englischen Sprache nicht so vertraut sind, Probleme. Hier sollte der Hersteller schleunigst Abhilfe schaffen. Das Handbuch ist sehr übersichtlich gegliedert, ein Stichwortverzeichnis wie bei FTL und Megamax fehlt jedoch noch immer. Zumindest eine Schablone zum Anfertigen von Indexseiten ist dem Handbuch jetzt beigelegt. Eine im Paket enthaltene GFA-Bibliothek erleichtert Basic-Aussteigern den Einstieg in Modula-2 und gibt Modula-Programmierern Gelegenheit, auch ohne viel Programmieraufwand kleine Grafikanwendungen zu realisieren. Eine gute Idee, die hoffentlich weiterverfolgt wird, denn noch ist die Bibliothek nicht vollständig. Auch bei den anderen Bibliotheken hat SPC einiges zu bieten. Herausragend ist dabei natürlich SSWiS, mit dem auch die gesamte Entwicklungsumgebung entstand. SSWiS steht für »Small Systems Windowing Standard« und bezeichnet eine fensterorientierte Anwenderschnittstelle. Das Programmieren mit SSWiS ist einfacher als mit den GEM-Funktionen. Da SSWiS auf GEM aufsetzt, unterscheiden sich SSWiS-Programme äußerlich nicht von reinen GEM-Programmen.

Leider gibt es noch keine Implementation von SSWiS auf MS-DOS oder auf anderen ST-Modula-Systemen. Damit SSWiS wirklich ein Standard sein kann, braucht es eine breite Basis. Solange es die nicht gibt, bleiben die meisten Programmierer bei GEM. Dazu gibt es für SPC die MOGLI (»MOdula Gem Library«)-Schnittstelle. MOGLI ist ein Versuch zweier unabhängiger Entwickler, ein einheitliches GEM-Interface für Modula-2 anzufertigen. Während Advanced Applications MOGLI für SPC-Modula sofort an passte, zogen die anderen Hersteller nicht mit, weil jeder seine eigenen Vorstellungen von einer GEM-Bibliothek hat. Deshalb gibt es MOGLI sonst nur noch für TDI-Modula als PD-Software.

Als einziges Modula-2-System bietet SPC eine Schnittstelle zu »Adimens« (siehe auch Test auf Seite 63). Dieses Interface gehört jedoch nicht zum Lieferumfang.

WERTUNG

Handbuch
Umfang: Etwa 380 Seiten
Spracheinführung: Modula Kurs auf Disk
Installationsanleitung: Ausreichend
Problemlösungen: Keine
Funktionserklarungen: Gut, leider englisch
Beispiele: Ja
Zugänglichkeit: Mäßig

Lieferumfang
Editor: Multitasking-Editor
Debugger: Ja
Sonstiges: Filer, Crypter, SSWiS

Sprache
Standard: Nicht ganz PIM 3. Einige Elemente aus PIM4
Fehlerbehandlung: Ja
Code Optimierung AG Bench: 125277 Byte

Service

Ein gemeinsames Merkmal haben alle drei deutschen Systeme: Sie sind überaus »lebendig«. An allen Compilern wird laufend weiter entwickelt. Unterschiedlich ist lediglich die Geschwindigkeit, mit der die Hersteller die Neuentwicklungen an den Endanwender weitergibt. Megamax-Anwender bekommen von der Vertriebsfirma Application Systems Heidelberg kaum Informationen über den Entwicklungsstand des MM2-Systems. Erst im direkten Kontakt zu den Programmierern erfährt man, daß beispielsweise die neue Shell des Systems 2.2 bereits seit sechs Monaten fertig ist oder daß der Umfang der Bibliotheksmodule von 70 auf inzwischen 100 angewachsen ist. Dadurch entsteht das Gefühl, daß Application Systems wegen »Script« und »Signum« andere Produkte total vernachlässigt. Aus Anwendersicht ist völlig unverständlich, warum es nicht schon längst kleinere Updates gegeben hat. Es muss ja nicht immer gleich ein völlig neuer Compiler sein.

Megamax Modula-2 FTL Modula Hänisch Modula-2 SPC Modula-2
normal m Register normal normal m. Register- normal
Optimierung Optimierung
Intmath short 0.76 0.57 0.93 0.87 0.64 089
Intmath iong 151 1.28 223 280 247 292
Realmath short 4.12 20.40 8.46
Realmath Iong 12.81 2348 1517 15.19
Triglog short 9.93 2617 1581
Triglog Iong 9.91 23.26 2594 1534
F0R 0.15 077 056 031 0.71
LOOP 072 0.46 0.72 072 046 072
REPEAT 0.56 0.31 056 0.56 030 0.56
WHILE 0.72 0.46 0.72 072 046 072
ArrayAccess 056 1.39 1.23 087 1.38
Record Access 051 0.31 118 097 051 113
RecordArray 0.33 068 062 050 0.57
RecordArrayWith 0.30 031 066 053 046 041
WriteToFile 999 623 531
ReadFromFile 491 484 521
Pass Parameters 492 3.86 4.00 403 3.14 692
Pass Structures 191 241 192 222
Conversions 8.08 663 1778
Strings 119 10.88 183 4.40
Dhrystones 917 656 710 493

AG-Benchmark Version 1.2 für Modula-2, (c) Arnd Beißner und Gereon Steffens

Ganz anders geht man dagegen bei Advanced Applications Viczena vor. Hier werden Anwender und die Öffentlichkeit regelmäßig durch die Fachpresse auch über kleinere Neuerungen informiert. Vielen Modula-Interessierten dürfte unbekannt sein, daß Advanced Application via Eletronic Mail direkten Kontakt mit den Kunden aufnimmt. Alle drei deutschen Modula-Entwickler sind in der gemeinsamen Modula-Gruppe von Maus- und Fido-Net vertreten. Hier können Sie sich aus erster Hand darüber informieren, was sich bei den Systemen tut.

Fazit

Klarer Sieger dieses Vergleichs ist Megamax-Modula. Es hat die beste Code-Qualität, eine intuitiv zu bedienende und leistungsfähige Shell und die mit Abstand besten Bibliotheken. Lediglich der immense Speicherbedarf des Systems und die nicht so gelungenen Editoren werfen etwas Schatten auf das System. SPC hat das Zeug zu einem guten Entwicklungssystem, doch muß es an einigen Punkten überarbeitet werden. Wenn SSWiS attraktiv bleiben soll, müssen endlich die Übertragungen auf MS-DOS und andere Systeme erfolgen. Hänisch hat nach wie vor den schnellsten Compiler. Der FTL Compiler kann beim hohen Standard der anderen Systeme nicht halten. Die Entwickler müssen das Niveau der Bibliotheken und der Benutzeroberfläche dem Niveau der anderen angleichen. Verbesserungen an der Code-Qualität sind bei allen vier Systemen gefordert. Das Niveau der schwächeren C-Compiler ist erreicht. (ba)

FTL Modula Creative Computer Design CCD, Burgstr.9, D 6228 Eltville
Megamax Modula Application Systems Heidelberg Software GmbH Englerstr. 3, Postfach 10 26 46, D 6900 Heidelberg 1
SPC Modula-2 Advanced Applicatons Viczenen GmbH Sperlingweg 19, D7500 Karlruhe 31
Hänisch Modula Schwab Software, Obermarkstr. 72, D 4600 Dortmund 30


Christoph Grunwald
Aus: TOS 07 / 1990, Seite 56

Links

Copyright-Bestimmungen: siehe Über diese Seite