PL/I (Programming Language One) wurde 1964 von IBM für die System/360-Baureihe entwickelt und sollte erstmals Wissenschaft und Wirtschaft in einer Sprache vereinen. Die Abkürzung wird „PL/I" geschrieben, die Alias-Schreibweise lautet pl1. PL/I ist blockstrukturiert, kennt mächtige Exception-Behandlung und läuft bis heute auf z/OS-Mainframes.

Erste Schritte

/* Klassisches Hello World in PL/I */
HELLO: PROCEDURE OPTIONS (MAIN);
  DECLARE NAME CHAR(20);
  PUT SKIP LIST ('Name?');
  GET LIST (NAME);
  PUT SKIP LIST ('Hallo, ' || NAME);
END HELLO;

Wichtige Konstrukte

  • PROCEDURE OPTIONS (MAIN) — Einstiegspunkt; BEGIN/END bilden Blöcke
  • DECLARE — Variablen mit Attributen wie FIXED BINARY, CHAR(20) oder FLOAT; Felder laufen im Gegensatz zu C von 1 bis n
  • DO WHILE / DO UNTIL — Schleifen mit Abbruchbedingung; DO I = 1 TO 10
  • ON-Units — Exception-Handler (z.B. ON ENDFILE (DATEI) GO TO FERTIG;)
  • STRUCTURE — Datensatztypen mit Feldern, Vorläufer moderner Records
  • || — String-Verkettung; // für Kommentare, /* */ für Blockkommentare

Praxis

PL/I kann mehrere Tasks starten (CALL ... TASK, WAIT, EVENT) und eignet sich für transaktionale Geschäftslogik im Mainframe-Umfeld. Die Built-in Functions (z.B. SUBSTR, INDEX, TRANSLATE) decken String- und numerische Verarbeitung ab.

Verwandte Einträge: ALGOL-Befehle (Vorbild der Blockstruktur), Fortran-Befehle (wissenschaftliche Seite), COBOL-Befehle (Geschäftsanwendungen), RPG-Befehle und Rexx-Befehle (weitere IBM-Sprachen).