Programmiersprache Pascal
You tell me and I forget,
You show me and I remember,
I do it and I understand.
Vorbemerkungen
Ziel ist es, am Beispiel von Pascal einen Überblick über die
wichtigsten Konzepte in höheren Programmiersprachen zu geben.
Außerdem wird an zahlreichen Stellen auf Stolpersteine hingewiesen,
die bei der Programmierung im allgemeinen und bei der Programmierung in
Pascal im besonderen auf den Entwickler warten.
Es werden zunächst die Konzepte dargestellt, die für
höhere Programmiersprachen typisch sind. Anschließend wird
gezeigt, wie sie sich in Pascal - beziehungsweise in den verschiedenen
Versionen von Pascal - widerspiegeln.
In der Praxis koexistieren gegenwärtig verschiedene Sprachen, und dies
wird - berechtigterweise - in naher Zukunft nicht anders sein. Die Auswahl
einer geeigneten Programmiersprache und der Umstieg auf eine andere Sprache
werden also auch künftig relevante Aufgaben bleiben. Ebenso der
Umstieg von einer Rechnerplattform auf eine andere, der nicht selten mit
einem Wechsel des Programmiersystems und der Sprachversion verbunden
ist.
Auch die Entwicklung innerhalb der einzelnen Sprachen und der mit
ihnen verknüpften Entwicklungssysteme und -strategien geht weiter.
Die Kenntnis der Grundkonzepte ist somit wichtig für die Orientierung
und erleichtert den gegebenenfalls notwendigen Einstieg in neue Systeme.
Die Grundkonzepte werden aus ingenieurmäßiger Sicht dargestellt,
auf die theoretischen Fundamente wird ansatzweise verwiesen.
Pascal als Beispielsprache bietet Vor- und Nachteile:
-
Pascal ist als Lehrsprache entworfen worden und wird häufig in
Schulen als solche verwendet. Der Einstieg in die Sprache ist relativ
einfach.
-
Es gibt für Pascal auf PC-Ebene sehr leistungsfähige
Programmiersysteme (z.B. Turbo Pascal, Delphi).
-
Pascal deckt im ursprünglichen Sprachumfang nicht alle Anforderungen
ab, die für die Entwicklung großer Software-Systeme
wesentlich sind.
-
Pascal ist frühzeitig in verschiedenster Weise erweitert worden.
Moderne Pascal-Systeme decken inzwischen viele Anforderungen ab,
unterscheiden sich aber (mindestens) syntaktisch in ihren
Erweiterungen.
-
Fast alle in anderen imperativen Programmiersprachen anzutreffende
moderne Konzepte sind auch in einer der existierenden Pascal-Versionen -
oft als Spracherweiterung - realisiert.
-
Die Portabilität von Pascal-Programmmen ist oft nur unter
großen Opfern zu erreichen.
Nützliche Spracherweiterungen sind in vielen Pascal-Versionen
unterschiedlich realisiert.
Pascal ist damit aber ein hervorragendes Demonstrationsobjekt, um die Punkte
aufzuzeigen, die sich bei der Übertragung von Programmen als besonders
kritisch erweisen.
Eingegangen wird dabei auf
-
die beiden Sprachstandards Pascal
und Extended Pascal,
-
Turbo Pascal (Borland Pascal),
Realisierung von Standard Pascal mit vielen Spracherweiterungen und
einigen Abweichungen vom Standard,
-
die Weiterentwicklung von Borland Pascal innerhalb des Programmiersystems
Delphi,
Bemerkung: Die von Borland benutzte Bezeichnung Object Pascal
wird vermieden, da sie nicht eindeutig ist (z.B. Object Pascal von
Apple [Tesler 1985]).
-
XL Pascal (XLP)
Realisierung von Standard Pascal mit Spracherweiterungen,
verfügbar auf IBM Rechnern,
XLP besitzt einen Standardmodus und einen erweiterten Modus (VS Modus,
Unterstützung der Mainframe-Version von Pascal)
-
Pascal XSC,
Realisierung von Standard Pascal mit Spracherweiterungen vor allem
für wissenschaftliche Berechnungen
-
Pascal++,
Realisierung von Extended Pascal mit Spracherweiterungen
-
Gnu Pascal,
(noch nicht vollständige) Realisierung von Extended Pascal mit
Spracherweiterungen,
unterstützt Elemente von Turbo Pascal
Siehe auch: Verwendete Pascal-Systeme
In keinem Fall kann jedoch eine vollständige und bis in das letzte
Detail exakte Beschreibung erfolgen.
Hierzu muß auf die Sprachstandards und die Beschreibung der
entsprechenden Programmiersysteme (in der jeweils relevanten Version)
verwiesen werden.
P. Böhme, 03.09.1996