[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Weblink "What is PL/1" ist tot.
K Klammerfehler seit letzter Änderung / führende LZ in Beispiel sind überflüssig (feste Zeichenbreite wird durch syntaxhighlight-Tag impliziert)
 
(39 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt)
Zeile 1:
'''Programming Language One''', oft als '''PL/I''' (auch PL/1, PL1 oder PLI) abgekürzt, ist eine [[Programmiersprache]], die in den 1960er-Jahren von [[International Business Machines|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 [[Höhere_ProgrammierspracheHö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.
 
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 ==
{{Belege fehlen}}
 
Kritiker der Sprache unterstelltenwarfen PL/I vor, dassvor es leider nur gelungen sei,allem die Nachteile der verschiedenen Vorbilder zu vereinen. Bei naturwissenschaftlich-technischen Programmierern galt essie als zu kaufmännisch, bei kaufmännischen Anwendern als zu naturwissenschaftlich-technisch orientiert. Anhänger weisen auf die Vorteile hin:
 
Anhänger der Sprache nannten als Vorteile:
Kritiker der Sprache unterstellten PL/I, dass es leider nur gelungen sei, die Nachteile der verschiedenen Vorbilder zu vereinen. Bei naturwissenschaftlich-technischen Programmierern galt es als kaufmännisch, bei kaufmännischen Anwendern als naturwissenschaftlich-technisch. Anhänger weisen auf die Vorteile hin:
* [[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)|FunktionFunktionen]]en
* Unterstützt [[strukturierte Programmierung]]
* Unterstützt [[rekursive Programmierung]]
* [[Datentyp]]en sind hardwareunabhängig
* Dynamische [[Speicherverwaltung]]
* [[Ereignis (Programmierung)|EventhandlingEreignisbehandlung]]
 
== Implementierungen ==
PL/I war und ist bei einigen großen IBM-Anwendern Hausprogrammiersprache.
 
PL/IDas war und ist bei einigen großen IBM-Anwendern Hausprogrammiersprache.Betriebssystem [[Multics]] wurde in PL/I geschrieben.
 
Abkömmlinge desvon 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ß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]] 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 diederen Vorläufer aus demwie [[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 [[abstrakterAbstrakter Datentyp|abstrakte Datentypen]] verwendet werden.
== Programmbeispiel [[Hallo Welt]] ==
<source lang="pli">
Hallo: proc options(main);
put list ('Hallo Welt!');
end Hallo;
</source>
 
== SieheProgrammbeispiel auchHallo Welt ==
<syntaxhighlight lang="Text">
 
Hallo: proc options(main);
* [[SabreTalk]]
put list ('Hallo Welt!');
end;
</syntaxhighlight>
{{Siehe auch|Hallo-Welt-Programm}}
 
== Literatur ==
* E. Sturm: ''Das neue PL/I.'' 7. Auflage. Vieweg-Verlag, 2007, ISBN 978-3-8348-0520-1.
 
* E.Wirtz, Klaus SturmWerner: ''DasEinführung neuein PL/I1 für Wirtschaftswissenschaftler'',. 73. Auflage. Vieweg-VerlagOldenbourg, 2007.München / Wien 1989, ISBN 978-3-8348486-052025641-16.
* Grund, Friedrich; IsselGrund, Walter Issel: ''PL/I-Programmierung'',. 5. AuflAuflage., Berlin: Deutscher Verlag der Wissenschaften, Berlin 1990., ISBN 33260002193-326-00021-9.
* Wirtz, Klaus Werner: ''Einführung in PL/1 für Wirtschaftswissenschaftler'', 3. Aufl., München, Wien: Oldenbourg 1989. ISBN 3486256416
* Grund, Friedrich; Issel, Walter: ''PL/I-Programmierung'', 5. Aufl., Berlin: Deutscher Verlag der Wissenschaften 1990. ISBN 3326000219
 
== Weblinks ==
* [{{Webarchiv |url=http://www-306.ibm.com/software/awdtools/pli/ |text=IBM -Homepage über die PL/I -Familie] |wayback=20071016082709}} (englisch)
* [http://www.faqs.org/faqs/computer-lang/pli-faq/ PL/I -FAQ]
* [http://home.roadrunner.com/~pflass/PLI/ The PL/I Language]
* [http://www.uni-muenster.de/ZIV.EberhardSturm/PL1andC.html Power vs. Adventure – PL/I and C]
 
{{DEFAULTSORTSORTIERUNG:Pli}}
[[Kategorie:Programmiersprache mit einem ISO-Standard]]
[[Kategorie:Programmiersprache]]
[[Kategorie:IBM]]
 
[[bg:PL/I]]
[[bs:PL/I]]
[[ca:PL/I]]
[[cs:PL/1]]
[[en:PL/I]]
[[es:PL/1]]
[[et:PL/I]]
[[fa:پی‌ال/۱]]
[[fi:PL/I]]
[[fr:PL/I]]
[[gl:PL/1]]
[[he:PL/I]]
[[hr:PL/1]]
[[hu:PL/I]]
[[it:PL/I]]
[[ja:PL/I]]
[[ko:PL/I]]
[[ms:Bahasa pengaturcaraan PL/I]]
[[nl:PL/1]]
[[no:PL/I]]
[[pl:PL/I]]
[[pt:PL/I]]
[[ru:ПЛ/1]]
[[sh:PL/I]]
[[sk:PL/I]]
[[sv:PL/1]]
[[tg:ПЛ/1]]
[[zh:PL/I]]