A PL/I egy eszközökben igen gazdag, általános célú programozási nyelv. A PL/I megalkotásakor univerzális eszköz létrehozására törekedtek, és felhasználták az addig létező programnyelveken (FORTRAN, ALGOL, Cobol) szerzett tapasztalatokat. A PL/I neve is az alkotói szándékot tükrözi: Programming Language number 1. A PL/I teljes verziója az F, csökkentett verziója a D.

A PL/I jellemzői: egymásba ágyazható ciklusok (do-loop), blokkok (do-end), programszerkezetek (select-when); elöl- és hátul tesztelő ciklusok; lokális változók az eljárásokban, függvényekben; rendkívül gazdag utasításkészlet, szinte minden feladatra van gyári utasítás; a legtöbb utasításnak van rövidített verziója (DCL - Declare, BIN - Binary, DEC - Decimal, PIC - Picture, PROC - Procedure stb.) széles körű alapértelmezettség, pl. Declare I real binary fixed precision(16) helyett elegendő a DCL I; struktúra- és részstruktúra-másolási lehetőség like utasítással; kondíciók, kivételkezelés megadása utasításokra és blokkokra; többszörözés lehetősége, pl. (5)'a' = 'aaaaa'; adatillesztési lehetőség szóra (aligned), illetve tömörítés (unaligned); széles körű, más nyelvekben ritkán fellelhető adattípusok, pl. karakter string mellett, bitstringek, komplex számok is, bináris mellett decimális számábrázolás stb.; változó hosszúságú sztringek kezelése; a globális, lokális változók mellett kétfajta dinamikus osztályt ismer: a klasszikus pointer-based mellett a controlled osztályt is; globális (static) változót bárhol lehet deklarálni, nem csak a legfőbb blokkban, így a globális változó a többi blokk elől rejtve marad;

A PL/I alkotásakor még nem választották külön a nyelv utasításait az eljárásoktól, így a PL/I még rengeteg olyan (pl. sztring kezelő) utasítást tartalmaz, amit ma már eljárásnak neveznénk. PL/I-re bő utasításkészlete és nyelvi gazdagsága miatt nehéz fordítóprogramot készíteni (főleg az F verzióra), így minden előnye mellett mára visszaszorult a felhasználása.

Kategória:Programozási nyelvek