Hauptseite | Deutsche Enzyklopädie

Pascal (Programmiersprache)

Pascal ist eine Programmiersprache, die 1968 bis 1972 von dem Schweizer Informatiker Niklaus Wirth entwickelt wurde. Sie ist nach Blaise Pascal benannt.

Inhaltsverzeichnis
1 Allgemeines zur Sprache
2 Standards
3 Free Pascal
4 Hallo Welt
5 Weiterentwicklungen
6 Literatur

Allgemeines zur Sprache

Pascal ist eine Weiterentwicklung von ALGOL. Das wichtigste Konstruktionsprinzip war, die Sprache so einfach wie möglich zu gestalten, damit sie in der Ausbildung genutzt werden konnte. Gleichzeitig sollte strukturierte Programmierung möglich sein. Alle Variablen müssen vor der Benutzung deklariert werden. Der erste Pascal-Compiler selbst entstand auf der CDC Cyber 6000 der ETH Zürich. Daraus entstand dann Pascal 6000, welches als erste operative Version eines Compilers der Sprache gesehen werden kann.

Später entstanden dann Compiler,die eine plattformunabhängige, assemblerähnliche Zwischensprache erzeugten, den P-Code. Die bekannteste Version wurde unter dem Namen UCSD-Pascal bekannt.

Bei den meisten Pascal-Compilern handelte es sich um so genannte Ein-Pass-Compiler, d. h., der Compiler muss die Quelle nur ein einziges Mal lesen und analysieren. Das Design der Sprache war so gehalten, um genau das zu ermöglichen.
Bei der damaligen Geschwindigkeit der Rechner war dies ein großer Vorteil.

Pascal zeichnete sich durch die strikte und einfach verständliche Syntax aus, sowie dadurch, dass es keine kontextabhängigen Interpretationen des Codes gab. Somit erlaubte Pascal im Vergleich zu Sprachen wie C und Fortran eine gute Lesbarkeit und verglichen mit Fortran auch eine bessere Unterstützung von strukturierter Programmierung. Ein wichtiges Konzept, das Wirth dabei zur Anwendung brachte, war die starke Typisierung (strong typing): Variablen sind bereits zur Übersetzungszeit einem bestimmten Datentyp zugeordnet und dieser kann nicht nachträglich verändert werden.

Da die Sprache ursprünglich nur als Lehrsprache konzipiert war, wies das Standard Pascal (wie es N. Wirth definierte) einige Mängel auf, die den kommerziellen Einsatz schwieriger machten: Das File-I/O-Konzept war schwach, die Laufzeitbibliothek eher rudimentär (im Vergleich zur C-Bibliothek), und Zeichenketten konnten nur über seltsame Umwege (packed array) direkt im Code verwendet werden. Das führte dazu, dass praktisch jede kommerzielle Implementierung das auszumerzen versuchte und damit einen neuen Pascal-Dialekt produzierte - und diese Dialekte waren nur sehr bedingt zueinander kompatibel.

Ein anderer wesentlicher Nachteil der ursprünglichen Implementierung war, dass eine Modularisierung im Sinne getrennter Compilierung nicht vorgesehen war - ein Manko, das mit der Weiterentwicklung Modula-2 behoben wurde. Plattformspezifische Implementierungen sahen für diese Lücke ebenfalls immer eine Lösung vor (z.B. die Units von Turbo-Pascal, oder später die Module in ANSI/ISO Extended Pascal).

Trotz dieser Hindernisse erlebte Pascal eine Blütezeit, als die Firma Borland eine Version mit dem Namen Turbo Pascal publizierte, in der die ursprünglich nur zu Lehrzwecken geschaffene Sprache so stark erweitert wurde, dass viele weit verbreitete Programme damit entwickelt wurden. U. a. wurde dabei auch in der Version 5.5 die Objektorientierung in Pascal eingeführt.

Pascal hatte von Anfang an im universitären Bereich sehr großen Erfolg, was sich u. a. auch in der Programmiersprache Ada, die sehr stark an der Syntax von Pascal angelehnt ist, niederschlug.

Heute gibt es auch verschiedenen Freeware-Implementationen, z. B. Virtual Pascal, welches aber im Unterschied zu Free Pascal nicht mehr weiter entwickelt wird.

Standards

Es gibt 3 Standards, die sich auf Pascal beziehen:

  1. Standard Pascal: ANSI/IEEE770X3.97-1993 oder ISO 7185:1990
  2. Extended Pascal: ANSI/IEEE770X3.160-1989 oder ISO/IEC 10206:1991
  3. sowie einen Entwurf zu „Object-Oriented Extensions to Pascal“

Allerdings sind nur die wenigsten Compiler zu diesen Standards kompatibel. Diese Tatsache verleitete Scott A. Moore zu der bissigen Bemerkung „Pascal is, unfortunately, very much a 'great improvement on its successors'“ („Pascal ist leider so ziemlich eine 'große Verbesserung seiner Nachfolger'“ -- damals bereits ein geflügelter Satz, der schon früher über ALGOL oft gesagt worden war).

Selbst großen Compilern wie Delphi oder FreePascal fehlen bis heute einige Elemente aus Standard Pascal, während Extended Pascal von kaum einem unterstützt wird. Lediglich Prospero Pascal ist vollständig kompatibel zu Extended Pascal, während auch GNU-Pascal vollständige Kompatibilität anstrebt.

Free Pascal

Hauptartikel: Free Pascal

Free Pascal ist eine frei zugängliche hoch entwickelte Implementierung der Programmiersprache Object Pascal. Free Pascal ist objektorientiert und weitgehend Delphi-7-kompatibel. Dadurch, dass es sich hierbei um einen Compiler handelt, der im Gegensatz zu Java und insbesondere zu .NET-Sprachen keinen zu interpretierenden Zwischencode erzeugen muss, unterliegt der Entwickler und der Anwender bei Ausführen des Programms nicht der Kontrolle so genannter Runtime-Engines, deren Kontrollaktivitäten sich eventuell dem Anwender/Entwickler entziehen.

Als Entwicklungsumgebung für Free Pascal, die auch verschiedene Komponenten zur Verfügung stellt, ist zurzeit zum Beispiel Lazarus verfügbar, welches sehr Delphi-ähnlich gestaltet ist und das GTK+ als Grafik-Toolkit verwendet.

Hallo Welt

Das Beispielprogramm Hallo Welt sieht in Pascal folgendermaßen aus:

PROGRAM Hallo (output);
BEGIN
  WRITELN ('Hallo Welt');
  READLN;
END.

Detail am Rande: Das READLN ist eigentlich nicht notwendig. DIe I/O Architektur der CDC Cyber 6000, auf der Wirth den ersten Pascal Compiler entwickelte, brauchte das aber, um die internen Buffer zu leeren - sonst wäre im interaktiven Betrieb kein Output zu sehen gewesen. Im Batch-Betrieb war dieses Statement ohnehin nie notwendig.

Weiterentwicklungen

Literatur

Weblinks



Limit search to: Body and Title Deutsche Seiten Path

Websites for Pascal
Showing page 1 (1 - 10 of 969 hits) Next »
a compiler generator for Turbo Pascal and compatibles. The package contains two programs, TP ... written in and produce code for the Turbo Pascal programming language. The present version works with all recent flavours of Turbo/Borland Pascal, including Delphi and Free Pascal Compiler, a GPL'ed Turbo Pascal-compatible compiler which currently runs on DOS ...
... optimizing compiler, part of GNU family. Implements standard Pascal, Borland Pascal with Objects, most of extended Pascal. Many platforms supported: DOS, Win32, OS/2; Linux ... optimizing compiler, part of GNU family. Implements standard Pascal, Borland Pascal with Objects, most of extended Pascal. Many ...
Compiler for Pascal and Object Pascal, runs on many platforms: Amiga, DOS, Linux, OS/2, Win32. Compatible with Turbo Pascal, supports advanced features such as function overloading. IDE available. [Open Source, modified LGPL] Compiler for Pascal and Object Pascal, runs on many platforms: Amiga, DOS, Linux, ...
... with SDL (Simple DirectMedia Layer) library under Free Pascal. SDL was first done in C/C++, but headers were translated to pascal units, so library is usable for Pascal. Tutorial to configure MS Windows to work with SDL (Simple DirectMedia Layer) library under Free Pascal. SDL was first done in C/C++, but headers were translated to pascal units, so library is usable for Pascal.
a compiler generator for Turbo Pascal and compatibles. The package contains two programs, TP ... written in and produce code for the Turbo Pascal programming language. The present version works with all recent flavours of Turbo/Borland Pascal, including Delphi and Free Pascal Compiler, a GPL'ed Turbo Pascal-compatible compiler which currently runs on DOS ...
An open-source Pascal Compiler project in hopes to establish a freeware Pascal compiler for the Macintosh platform. An open-source Pascal Compiler project in hopes to establish a freeware Pascal compiler for the Macintosh platform.
Was DEC Pascal, then Compaq Pascal, optimizing compiler runs on VAX and Alpha CPUs ... FIPS-109. Descriptions, documents, news, support. Was DEC Pascal, then Compaq Pascal, optimizing compiler runs on VAX and Alpha CPUs ...
A good starting point for information about Pascal. Links to FAQs, random-number routines, and optimization ... as well as information specific to the Turbo Pascal compiler. A good starting point for information about Pascal. Links to FAQs, random-number routines, and optimization ... as well as information specific to the Turbo Pascal compiler.
... is able to create Windows or console-based Pascal programs using the Free Pascal compiler. A full-featured integrated development environment (IDE ... is able to create Windows or console-based Pascal programs using the Free Pascal compiler.
A Pascal interpreter. It's Delphi/Kylix compatible. Nemesis Pascal uses internally a modified version of the JEDI Pascal Interpreter. It's cross-platform (currently Windows and ... Scripting Tool. [Open source, GPL and MPL] A Pascal interpreter. It's Delphi/Kylix compatible. Nemesis Pascal uses internally a modified version of the ...

Next »

Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor
Free thumbnail preview by Thumbshots.org

Search for products at amazon.com:
Search:
Keywords:
amazon.com books on 'Pascal (Programmiersprache)':
Search at Google.com:
Google
WebCalSky.com Enzyklopädie

Im Artikel erwähnte Literatur