Common facts about the language:
Not only did business and scientific users use different machines; they also used different languages. Business users mainly used COBOL, while scientific users used Fortran. The goal of PL/I was to develop a single language usable for both business and scientific purposes. Another goal was to add structured programming constructs derived from ALGOL, which neither COBOL nor Fortran supported (at the time). PL/I was designed by a committee drawn from IBM programmers and users drawn from across the United States, working over several months. The original goal was to have PL/I ready for use by the time of the launch of the [System 360]?; but unfortunately this deadline could not be met.
The language was originally to be called NPL, for "New Programming Language"; but that abbreviation could not be used because it was the name of the National Physical Laboratories in England. So PL/I was chosen instead.
The PL/I language did not have the success that was originally hoped for. This was due to several factors. Most importantly, the language was highly complex, which made it difficult to implement on time. This was probably due to it being designed by a committee, and the desire to supply the needs of very different types of users (business and scientific users). Its delay, its complexity, and the low quality of early versions of IBM's PL/I compiler discouraged users to switch from COBOL or Fortran. It contained many features users rarely used, such as multithreading support, and which added corresponding cost and complexity to the compiler.
Another major problem was that instead of noticing features that would make their job easier, scientific (FORTRAN) programmers of the time had the opinion that it was a business language, while business (COBOL) programmers looked on it as a scientific language!
PL/I was probably the first commercial language where the compiler was written in the language to be compiled. (The experimental language NELIAC? beat them to it by at least five years, and there may have been others.)
That is not to say that PL/I was not used. It recieved significant use in business data processing, and also for more general programming use. The Multics project, the first to develop an operating system in a high level language, used PL/I. A subset of PL/I, PL/M, was used to write CP/M.
The first online Airline Reservation System (SABRE) was written (or at least supposed to be written) in PL/I.
Mostly used on mainframes?, PL/I has also versions for MS-Windows?, AIX and Unix.
Test: procedure options(main); declare My_String char(20) varying initialize('Hello, world!'); put skip list(My_String); end Test;
ANSI X3.74-1987 (R1998) Title: Information Systems - Programming Language - PL/I General-Purpose Subset