PL/I

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. Dezember 2004 um 21:04 Uhr durch Marc van Woerkom (Diskussion | Beiträge) (Verlinkung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Programming Language One, oft als PL/1 (auch PL/I, PL1 oder PLI) abgekürzt ist eine Programmiersprache, die in den 1960er-Jahren von IBM entwickelt wurde.

Ursprünglich entwickelt unter dem Namen NPL (New Programming Language) als eine allgemeine Programmiersprache für alle Anwendungsgebiete. Es wurde versucht, die Vorteile aller bis dahin bestehenden Hochsprachen (insbesondere ALGOL, Fortran und COBOL) zu vereinigen.

Kritiker der Sprache unterstellten PL/1, 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:

PL/1 war bei einigen großen IBM Anwendern Hausprogrammiersprache. Multics wurde in PL/1 geschrieben.

Abkömmlinge des PL/1 sind PL/M (CP/M wurde in PL/M geschrieben) und PL/S (IBM interne Programmiersprache für Systemsoftware).

PL/1 wird meist auf IBM Großrechnern eingesetzt, es existieren aber auch Varianten für Windows, OS/2, AIX und andere Unix - Varianten.

Gegenüber den später entwickelten Sprachen wie Pascal kennzeichnet die gesamte PL/I-Sprachfamilie (wie auch schon die Vorläufer aus dem ALGOL-Zoo), dass Datenstrukturen zwar als konkrete Elemente angegeben werden können, aber praktisch keine Sprachelemente für die Definition von Struktur-Typen existieren. Dadurch war es nicht möglich, Zuweisungskompatibilität schon während der Übersetzungszeit zu prüfen. Der neue PL/I-Compiler von IBM kennt auch abstrakte Datentypen.

Neben dem Namen PL/1 ist für diese Sprache auch der Name PL/I gebräuchlich.

Programmbeispiel

Test: procedure options(main);
/* Dies ist ein Kommentar */
/* Deklaration:      */
  declare My_String char(20) varying initial('Hallo Welt!');
/* Ein Beispiel fuer einen Event-Handler */
  on error begin; 
      /* editierte Ausgabe: */                              
      put skip edit('Es gibt einen Fehler in der Welt')(a);
      call plidump;                            /* Dump */
  end;
  
  put skip list(My_String);   /* Listenausgabe */
  
end Test;

Literatur

  • Mell, W.-D., Preus, P.,Sandner, P.: Einfuehrung in die Programmiersprache PL/1 (BI-Hochschultaschenbuecher 785) Bibliographisches Institut 1991, 2. Auflage
  • Sturm, E.: Das neue PL/I, Vieweg-Verlag 2002, 5. Auflage