Pure Pascal: Pures Vergnügen

Es kommt spät, dafür mit sensationellen Eigenschaften: »Pure Pascal« verspricht vollständige Kompatibilität zu Turbo Pascal 6.0 und bietet Einmaliges in puncto Codequalität.

Schon im frühen Entwicklungsstadium wußte Pure Pascal zu verblüffen: Es übersetzte unter MS-DOS entwickelte Quellcodes (objektorientierte Programmierung) nicht nur klaglos auf einem Mega ST4, die Programme liefen auch auf Anhieb. Schon damals bestand das Pure Pascal aus einem kompletten Entwicklungssystem mit GEM-Oberfläche, integriertem Editor, Debugger, Make-Funktion etc.

Die Installation ist denkbar einfach: Man kopiert die Dateien der Produktdiskette in ein beliebiges Verzeichnis und ruft PP.PRG auf. Weitere individuelle Einstellungen der Programmierumgebung erfolgen von der PP-Shell aus und können in einer .CFG-Datei abgespeichert werden. Pure Pascal ersetzt den GEM-Desktop durch eine eigene, GEM-ähnliche Oberfläche. Aus deren Mülleimer lassen sich weggeworfene Daten zurückholen.

Was macht Turbo Pascal eigentlich so wichtig? Wer heute von Pascal redet, meint meistens Turbo Pascal, das im Pascal-Markt der MS-DOS-Welt in den letzten zehn Jahren immer deutlicher dominierte. Die heutige Version Turbo 6.0 stellt ein sehr leistungsfähiges Programmierwerkzeug dar. Es ist ein modularer Pascal-Dialekt mit objektorientierten Erweiterungen. Man kann darin Klassen definieren, die Datenfelder und Prozeduren (sog. Methoden) zu einer Einheit zusammenfassen.

Warum also gibt es nicht längst ein Turbo Pascal für den ST? Ansätze waren ja durchaus vorhanden. Borland konzentrierte seine Anstrengungen aber letztendlich auf die Windows- und OS/2-Schiene. Viele Entwickler haben im Büro einen MS-DOS-PC und arbeiten zu Hause auf dem ST. Dürfen sie künftig hoffen, ihre Arbeit in TP vom DOS-Rechner mit nach Hause nehmen zu können und auf dem ST oder TT in Heimarbeit fortzusetzen? Kann man erwarten, daß nun Anwendungssoftware leicht von MS-DOS auf TOS-Rechner portiert werden kann? Ja und jein.

Das Ja bezieht sich auf den erklärten Anspruch von Pure Software, ein vollständig TP-kompatibles (!) Pascal unter TOS bereitzustellen, das auch künftigen Updates von Borland folgen wird. Eine Sprache wie Turbo Pascal auf einen Schlag mit einer Neuimplementierung komplett auf einer neuen Hardwareplattform anzubieten, ist eine große Leistung. Das Jein bezieht sich demnach auf die relativ engen Kontakte spezieller Spracherweiterungen von TP an die MS-DOS- und Intel-Welt. Bestimmte Konstrukte lassen sich einfach nicht auf TOS übertragen, sie hätten auch gar keinen Sinn.

Bibliotheken sehr wichtig

Dennoch tun die Entwickler bei Pure Software ihr Möglichstes und bieten z. B. die wichtigsten DOS-orientierten Bibliotheken wie die Unit DOS, Crt etc. in einer adaptierten Version an. Wer also die modernen Fähigkeiten von Borlands Turbo Pascal zur modularen Implementierung von Software (durch Units) richtig nutzt, wird in der Lage sein, die systemspezifischen Programmteile (die sich sowieso in möglichst isolierten Modulen befinden sollen) auf Atari-Rechnern neu zu programmieren und den Rest des Quellcodes weitestgehend oder völlig unverändert zu übernehmen. Programme, die lediglich »zahmes« DOS-I/O machen (z. B. über Read(Ln) und Write(Ln) und die Prozeduren aus der DOS-und CRT-Unit), laufen in der Regel sofort auch auf dem ST — natürlich nicht unter GEM.

Ein schwierigeres Kapitel sind da schon oberflächenorientierte Programme, also solche, die z. B. »Turbo Vision« nutzen. Dafür gibt es — vorerst — kein Äquivalent unter TOS, und das Umschreiben einer TV- oder gar Windows-Applikation auf eine GEM-Applikation dürfte ein größeres Unterfangen sein und eventuell ein teilweises oder auch völliges Redesign erfordern. Das ist allerdings kein Problem von TP oder Pure Pascal, sondern das der Betriebssystemoberflächen. Für viele Atari-Entwickler dürfte OOP (objektorientierte Programmierung) allerdings noch Neuland sein.

Pure Pascal kann dafür einiges, was Turbo Pascal nicht kann bzw. schnöde ignoriert: Während TP bei einem Fehler im Quelltext stoppt und sofortige Nachbesserung verlangt, ehe es den Rest des Programms überprüft, übersetzt Pure Pascal den gesamten Quelltext und erstellt erst dann eine Liste der gefundenen Fehlern Über das sog. View-Fenster lassen sich die entsprechenden Fehlermeldungen anklicken und die Stelle im Quelltext in einem Editor-Fenster anspringen. TP ging immer schon etwas schlampig mit Fehlermeldungen um — bis heute nahm man an, daß dies der Preis für die verblüffende Schnelligkeit des Compilers sei. Pure Pascal zeigt, daß sich sorgfältige Fehleranalyse, Codeoptimierung und Geschwindigkeit nicht ausschließen müssen!

Pure Pascal arbeitet unter einer GEM-ähnlichen Oberfläche

Doch nicht nur das — PP findet auch Fehler im Code, die TP ohne Murren übersetzt. Beispielsweise moniert es die Anwendung der Funktion »TypeOf« auf Objekte, die keine virtuellen Methoden besitzen (was in Turbo 6.01 erst zur Laufzeit zu einem Fehler führt). Außerdem entdeckt es mehrfach vergebene CASE-Label, die TP kalt lassen.

Last but not least generiert der PP-Compiler Warnings. Diese dem Pascal-Adepten ebenso fremde wie C-Programmierern vertraute Attitüde hilft, zwar formal korrekte, aber von der Programmfunktion (Semantik) her fragwürdige Programmstellen zu finden. Dies können beispielsweise Variablen sein, denen zwar Werte zugewiesen werden, die aber nie benutzt werden bzw. umgekehrt Variable, die benutzt werden, aber offensichtlich noch nicht mit einem definierten Wert belegt wurden.

Eine sehr nützliche Funktion des PP ist außerdem der Hierarchie-Browser im View-Menü. Hat man ein Programm compiliert, zeigt dieser eine Liste mit eingerückten Einträgen, aus der die Abstammung der in dem Programm verwendeten Klassen hervorgeht. Ein Selektionsrahmen, den man auf eine der Klassen einstellen kann, zeigt bei einem Doppelklick mit der Maus einen »Inspektor« der Klasse an. Das ist ein Fenster, aus dem man den Vorfahren der Klasse (Ancestor) sowie qualifizierten Namen und Datentyp der Felder und Methoden der Klasse entnehmen kann. Bei den Methoden werden auch Namen und Typ der Parameter angezeigt. Dies ist speziell für die Entwicklung von objektorientierten Programmierprojekten eine unschätzbare Organisationshilfe!

Die Qualität des erzeugten Codes wird häufig zu sehr in den Vordergrund gestellt, denn für professionelle Projekte kann es wichtiger sein, daß das System zuverlässig arbeitet, daß man damit schnell und komfortabel entwickeln kann und daß es den Programmierer bei der Erstellung korrekter Codes unterstützt. Z. Zt. können wir dazu allerdings nur wenig konkrete Aussagen machen. Vielleicht helfen ein paar Zahlen: Betatester Peter Hellinger (durch seine Magic-Libraries zu Megamax-Modula bekannt) schrieb den MM2_Dhrystone-Test in PP um. Die Werte sind aber noch umstritten, weil der PP-Compiler »toten« Code wegoptimiert, was nach den Regeln für den Dhrystone-Test nicht erlaubt ist. Verheißungsvoll sind sie allemal!

Natürlich gibt es auch zu mäkeln: Tester monierten, daß Pure Pascal die GEM-Oberfläche durch einen eigenen Desktop ersetzt. Peter Sollich von Pure Software relativiert die Kritik: »Wir wollten die GEM-Beschränkung auf eine feste Fensterzahl umgehen.« Tatsächlich ließen sich probeweise 22 Fenster unter der PP-Shell öffnen und da Pure Pascal zahlreiche Anzeigefenster für verschiedene Zwecke zur Verfügung stellt, wäre es in der Tat unangenehm, die Fensterzahl einzuschränken. Das Pure-Team will außerdem sofort auf künftige TOS-Versionen reagieren, die mehr Fenster bzw. Multitasking anbieten.

Alle Menüpunkte des Pure-Pascal-Hauptmenüs im Überblick

Kritik auch an den z. Zt. (nicht) verfügbaren Bibliotheken: Eigentlich ein Problem jeder neuen Programmiersprachen-Implementierung. Man wird abwarten müssen, wie die marktreife Version aussieht und dann können Entwickler und Fremdanbieter mit verbesserten Libraries nachziehen. Wünschenswert wäre z. B. eine zu Turbo Vision kompatible Bibliothek.

Dieser Artikel stellt keinen Testbericht dar, denn noch ist das Betatestverfahren voll im Gange. Soviel läßt sich aber schon jetzt sagen: Sicherlich wird Pure Pascal ein sehr gutes Produkt werden. Es ist in vielfacher Hinsicht interessant: PP verspricht es ein Entwicklungssystem auf höchstem Niveau zu werden. Ganz nebenbei öffnet es dem TOS- und GEM-Programmierer die Welt der objektorientierten Programmierung und schlägt eine Brücke zwischen der MS-DOS und der TOS-Welt, indem es den mit Abstand populärsten Pascal-Compiler zu einer portablen Sprache macht.

Übrigens gibt es für eilige Neugierige auch eine Demoversion, die den vollen aktuellen Sprachumfang enthält, die jedoch compilierte Programme nicht abspeichert. Sie ist für 10 Mark direkt bei Application Systems zu haben bzw. in einigen Mäusen. (hu)

Application Systems Heidelberg, Postfach 102646, 6900 Heidelberg 1

Atari TT 32 MHz, ohne Fastram, ohne Checks

   
MM2-Modula-2 2290 D/s (Weicker-Dhrystone)
MM2-Modula-2 2354 D/s (MM2-Dhrystone)
Pure Pascal 03.04.92 4024 D/s (Weicker-Dhrystone)
Pure Pascal 03.04.92 4098 D/s (MM2-Dhrystone)
Pure Pascal 15.04.92 5154 D/s (Weicker-Dhrystone)
Pure Pascal 15.04.92 5220 D/s (MM2-Dhrystone)

Die Testwerte sind noch umstritten — trotzdem aufschlußreich


Johannes Leckebusch
Links

Copyright-Bestimmungen: siehe Über diese Seite