PL/I
Programming Language One, oft als PL/I (auch PL/1, PL1 oder PLI) abgekürzt, ist eine Programmiersprache, die in den 1960er-Jahren von IBM entwickelt wurde. Die Bezeichnung PL/1 ist vor allem in Deutschland gebräuchlich.
Entwicklungsgeschichte
Ursprünglich wurde PL/I unter dem Namen NPL (New Programming Language) als eine allgemeine Programmiersprache für alle Anwendungsgebiete entwickelt. Es wurde versucht, die Vorteile aller bis dahin bestehenden Hochsprachen (insbesondere ALGOL, Fortran und COBOL) zu vereinigen. Ebenso war es ein Ziel, die dynamische Speicherverwaltung von Assembler vereinfacht in PL/I zu integrieren.
Eigenschaften
Kritiker der Sprache warfen PL/I vor, vor allem die Nachteile der verschiedenen Vorbilder zu vereinen. Bei naturwissenschaftlich-technischen Programmierern galt sie als zu kaufmännisch, bei kaufmännischen Anwendern als zu naturwissenschaftlich-technisch orientiert.
Anhänger der Sprache nannten als Vorteile:
- Syntax mit freiem Format
- Schlüsselwörter sind nicht abhängig von Groß- oder Kleinschreibung
- Viele eingebaute Funktionen
- Unterstützt strukturierte Programmierung
- Unterstützt rekursive Programmierung
- Datentypen sind hardwareunabhängig
- Dynamische Speicherverwaltung
- Ereignisbehandlung
Implementierungen
PL/I war und ist bei einigen großen IBM-Anwendern Hausprogrammiersprache.
Das Betriebssystem Multics wurde in PL/I geschrieben.
Abkömmlinge des PL/I sind PL/M (für Mikrocomputer; große Teile von CP/M wurden in PL/M geschrieben) und PL/S (IBM-interne Programmiersprache für Systemsoftware).
PL/I wird vorwiegend auf IBM-Großrechnern eingesetzt, es existieren aber auch Varianten für Windows, OS/2, AIX und andere Unix-Varianten.
Für S/360-Rechner wurde in Zusammenarbeit mit den Fluggesellschaften American Airlines und Eastern Air Lines der Dialekt SabreTalk entwickelt.
Gegenüber den später entwickelten Sprachen wie Pascal kennzeichnete die gesamte PL/I-Sprachfamilie (wie auch schon deren Vorläufer wie ALGOL), dass Datenstrukturen zwar als konkrete Elemente angegeben werden konnten, aber praktisch keine Sprachelemente für die Definition von Struktur-Typen existierten. In der neuesten Generation von PL/I der Fa. IBM, Enterprise PL/I, können auch abstrakte Datentypen verwendet werden.
Programmbeispiel Hallo Welt
Hallo: proc options(main);
put list ('Hallo Welt!');
end Hallo;
Literatur
- E. Sturm: Das neue PL/I. 7. Auflage. Vieweg-Verlag, 2007, ISBN 978-3-8348-0520-1.
- Wirtz, Klaus Werner: Einführung in PL/1 für Wirtschaftswissenschaftler. 3. Auflage. Oldenbourg, München / Wien 1989, ISBN 3-486-25641-6.
- Friedrich Grund, Walter Issel: PL/I-Programmierung. 5. Auflage. Deutscher Verlag der Wissenschaften, Berlin 1990, ISBN 3-326-00021-9.
Weblinks
- IBM-Homepage über die PL/I-Familie (Memento vom 16. Oktober 2007 im Internet Archive) (englisch)
- PL/I-FAQ
- Power vs. Adventure – PL/I and C