[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Eigenschaften: weniger wertende Formulierungen
Keine Bearbeitungszusammenfassung
Zeile 2:
 
== 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 [[Höhere_Programmiersprache|Hochsprachen]] (insbesondere [[ALGOL]], [[Fortran]] und [[COBOL]]) zu vereinigen. Ebenso war es ein Ziel, die dynamische Speicherverwaltung von [[Assembler (Informatik)|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üsselwort_Schlüsselwort (Informatik)|Schlüsselwörter]] sind nicht abhängig von Groß- oder Kleinschreibung
* Viele eingebaute [[Funktion_Funktion (Programmierung)|Funktion]]en
* Unterstützt [[strukturierte Programmierung]]
* Unterstützt [[rekursive Programmierung]]
Zeile 19 ⟶ 18:
 
== Implementierungen ==
 
PL/I war und ist bei einigen großen IBM-Anwendern Hausprogrammiersprache. [[Multics]] wurde in PL/I geschrieben.
 
Zeile 26 ⟶ 24:
PL/I wird vorwiegend auf IBM-[[Großrechner|Großrechnern]] eingesetzt, es existieren aber auch Varianten für [[Microsoft Windows|Windows]], [[OS/2]], [[AIX]] und andere [[Unix]]-Varianten.
 
Für [[System/360|S/360-Rechner]] wurde in Zusammenarbeit mit den Fluggesellschaften [[American Airlines]] und [[Eastern Air Lines (1926)|Eastern Air Lines]] der Dialekt [[SabreTalk]] entwickelt.
Gegenüber den später entwickelten Sprachen wie [[Pascal (Programmiersprache)|Pascal]] kennzeichnete die gesamte PL/I-Sprachfamilie (wie auch schon die Vorläufer aus dem [[ALGOL]]-Zoo), dass [[Datenstruktur]]en 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 [[abstrakter Datentyp|abstrakte Datentypen]] verwendet werden.
 
Gegenüber den später entwickelten Sprachen wie [[Pascal (Programmiersprache)|Pascal]] kennzeichnete die gesamte PL/I-Sprachfamilie (wie auch schon die Vorläufer aus dem [[ALGOL]]-Zoo), dass [[Datenstruktur]]en 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 [[abstrakter Datentyp|abstrakte Datentypen]] verwendet werden.
== Programmbeispiel [[Hallo-Welt-Programm|Hallo Welt]] ==
 
== Programmbeispiel [[Hallo-Welt-Programm|Hallo Welt]] ==
<source lang="pli">
Hallo: proc options(main);
Zeile 34:
end Hallo;
</source>
{{Siehe auch|Hallo-Welt-Programm}}
 
== Siehe auch ==
 
* [[SabreTalk]]
 
== 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. Aufl., München, Wien: Oldenbourg 1989. ISBN 3486256416