PL/I

**PL/I** (skraćenica za "*Programming Language One*" — izgovor: *pi-el-van*) je proceduralni, imperativni programski jezik, dizajniran za naučne, inženjerske i poslovne sistemsko programirane aplikacije. Korišten je od strane raznih akademskih, komercijalnih i industrijalnih organizacija od kako je bio uveden 1960ih.

PL/I-ova glavna polja korištenja su procesiranje podataka, numerička analiza, naučno računanje, i sistemsko programiranje. Podržaje rekurziju, strukturalno programiranje, upravljanje podacima povezanih struktura, brojeve sa pomičnim i nepomičnim zarezom, kompleksne brojeve, i upravljanje simbolima i bitovima niza. Sintaksa jezika je slična engleskom i odgovara za specificiranje kompleksnih oblika za podatke, a također uključuje širok skup funkcija sa kojim je moguće ove podatke provjeriti i manipulisati.

## Historija 
Tokom 1950-ih i ranih 1960-ih poslovni i naučni korisnici su programirali za različit računarski hardver koristeći različite programske jezike. Poslovni korisnici su prelazili sa asemblera Autocoder preko COMTRAN-a na COBOL, dok su naučni korisnici programirali preko generalnog interpretativnog programa (*General Interpretative Programme* - GIP), Fortran-a, ALGOL-a, GEORGE-a, i drugih programskih jezika. IBM System/360 (najavljen 1964. ali tek isporučen 1966.) je dizajniran kao opšta mašinska arhitektura za obje grupe korisnika, smijenjujući sve postojeće IBM arhitekture. IBM je također htio da napravi jedan programski jezik za sve korisnike. Kompanija je se nadala proširiti Fortran tako da ono uključuje sve karakteristike tražene od strane komercijalnih programera. U oktobru 1963. osnovan je komitet koji je se stastojao od 3 IBM-ovca iz New Yorka i 3 člana iz SHARE grupe, sa ciljem da se predlože nova proširenja. Uz data ograničenja Fortran-a, ovaj cilj nisu uspjeli ostvariti što je rezultiralo pravljenjem “novog programskog jezika” zvanog "NPL" (*New Programming Language*), bazirajući se široko na ALGOL. Ovaj akronim je bio u konfliktu sa imenom nacionalne fizičke laboratorije (*National Physical Laboratory*) u Velikoj Britaniji te je zato bio privremeno preimenovan u MPPL (*MultiPurpose Programming Language*), i kasnije 1965. na PL/I (sa rimskim brojem “I”). Prva definicija PL/I-a je se pojavila u aprilu 1964.

## Primjeri 
### Pozdrav svijete 
```pli
Hello2: proc options(main);
     put list ('Pozdrav svijete!');
end Hello2;
```

### Pretraga niza 
```pli
/* Učitaj jedan red koji sadrži neki niz,
/* i onda izbaci sve slijedeće redove koji sadrže ovaj niz. */

find_strings: procedure options (main);
   declare pattern character (100) varying;
   declare line    character (100) varying;
   declare (line_no, end_file) fixed binary;

   end_file = 0;
   on endfile (sysin) end_file = 1;

   get edit (pattern) (L);
   line_no = 1;
   do while (end_file = 0);
      if index(line, pattern) > 0 then
         put skip list (line_no, line);
      line_no = line_no + 1;
      get edit (line) (L);
   end;

end find_strings;
```

## Također pogledajte 
* Spisak programskih jezika
* Hronološki prikaz programskih jezika

## Literatura 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 

## Reference 
## Vanjski linkovi 
*  IBM PL/I kompajleri za z/OS, AIX, MVS, VM i VSE
*  Iron Spring Software, PL/I za Linux i OS/2
*  Kednos PL/I za OpenVMS i Tru64
*  "*Micro Focus’ Mainframe PL/I Migration Solution*"
*  OS PL/I V2R3 gramatika, verzija 0.1
*  PL/I for GCC, Prednji kraj PL/I-a za projekat GNU Compiler Collection
*  Pliedit, PL/I uređivač za Eclipse
*  "*Power vs. Adventure - PL/I and C*", usporedba PL/I-a i C-a.
*  "*The Compilerator*", online PL/I kompajler za eksperimentisanje.

Kategorija:Proceduralni programski jezici
Kategorija:Jezička porodica programskog jezika PL/I
Kategorija:Stukturalni programski jezici
Kategorija:IBM softver
Kategorija:Programski jezici napravljeni 1964.