Pascal (Programmiersprache)
Pascal ist eine Programmiersprache, die durch den Schweizer Informatiker Niklaus Wirth entwickelt wurde.
Sie ist nach Blaise Pascal benannt.
Pascal beruht auf 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. Der Satz an Kontrollstrukturen ist minimal. Alle Variablen müssen deklariert werden. Der erste Pascal-Compiler selbst war mit ca. 6000 Codezeilen recht klein und erzeugte eine plattformunabhängige assemblerähnliche Zwischensprache, den P-Code. Dabei handelte es sich um einen sogenannten Ein-Pass-Compiler, d.h., dass der Compiler die Quelle nur ein einziges Mal lesen und analysieren musste. Bei der damaligen Geschwindigkeit der Rechner war dies ein grosser Vorteil. Zu den ersten Implementierungen des Pascal-Compilers gehörte Pascal 6000, das auf Großrechnern vom Typ Cyber der Firma Control Data Cooperation (CDC) lief.
Pascal zeichnete sich durch die strikte und einfach verständliche Syntax aus, sowie dadurch, dass es keine kontextabhängigen Interpretationen des Codes gab. Somit unterstützte der Compiler im Gegensatz zu Sprachen wie C eine sichere Software-Entwicklung, und im Gegensatz zu Sprachen wie Fortran Struktur und gute Lesbarkeit. Einer der wesentlichen Nachteile der ursprünglichen Implementierung war, dass eine Modularisierung im Sinne getrennter Compilierung nicht vorgesehen war - ein Manko, das mit Modula-2 behoben wurde. Plattformspezifische Implementierungen sahen für diese Lücke jedoch immer eine Lösung vor (z.B. die Units von Turbo-Pascal, oder später die Module in ANSI/ISO Extended Pascal).
Pascal erlebte 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 die Objektorientierung in Pascal eingeführt.
Bei Pascal handelt es sich um eine kompilierende Sprache, entsprechende Compiler sind für alle bekannten Platformen verfügbar.
Heute gibt es auch verschiedenen Freeware-Implementationen, die aktiv gepflegt werden.
Standards
Es gibt 3 Standards, die sich auf Pascal beziehen:
- Standard Pascal: ANSI/IEEE770X3.97-1993 oder ISO 7185:1990
- Extended Pascal: ANSI/IEEE770X3.160-1989 oder ISO/IEC 10206:1991
- und es gibt einen Entwurf zu "Object-Oriented Extensions to Pascal"
Leider 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 it's successors'" (Pascal ist leider so ziemlich eine große Verbesserung seiner Nachfolger).
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 Kompatiblität anstrebt.
Literatur
- Kathleen Jensen, Nicolaus Wirth: PASCAL user manual and report. (Nicht für Anfänger der Programmierung geeignet!)