JDT

 

FREE Downloads
Articles
Tutorials

 

PL/I


PL/I ("Programming Language One") is an imperative computer programming language designed for scientific, engineering, and business applications. It is one of the most feature-rich programming languages and one of the very first in the highly-feature-rich category. It has been used by various academic, commercial and industrial users since it was introduced in the early 1960s, and is still actively used today.

PL/I's principal domain is data processing; it supports recursion and structured programming. The language syntax is English-like and suited for describing complex data formats, with a wide set of functions available to verify and manipulate them.

History

PL/I was developed by IBM, at its Hursley Laboratories in the United Kingdom, as part of the development of System/360. Prior to System/360, IBM made several different incompatible models of mainframes for different purposes: some were designed for business use, others for scientific use. The goal of the System/360 project was to develop one series of compatible models to replace all the previous models, and which could be used equally well for commercial or scientific use.

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. IBM originally wanted PL/I to be ready for use by the launch of 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 Laboratory in the UK. The 'NPL' name was in effect between March 1 and November 30 in 1964. MPL and MPPL were considered before settling on PL/1.(This was a parallel to IBM's forthcoming database access language, Data Language/1).

Compilers were implemented by several groups in the early 1960s. The Multics project at MIT, one of the first to develop an operating system in a high level language, used Early PL/I (EPL), a subset dialect of PL/I, as their implementation language in 1964. EPL was developed at Bell Labs and MIT by Douglas McIlroy, Robert Morris, and others.

Although PL/I did not have immense universal popularity on all computing platforms of that era, that is not to say that it did not enjoy success on isolated islands within the 1970s computer industry. It received significant use in business data processing, and also for more general programming use, especially for authoring operating systems on certain processors. PL/M, a subset of PL/I distributed by Intel, was used to write the CP/M operating system proper and much application software running on CP/M and MP/M; Digital Research sold a PL/I compiler which was itself written in PL/M. PL/M was used to write much other software at Intel for the 8080, 8085, and Z-80 processors during the 1970s. The SAS System was initially written in PL/I; the SAS data step is still modeled on PL/I syntax. The XPL dialect of PL/I was used to write HAL/S as used on the Space Shuttle. A subset of PL/I, PL/P, was used to write new portions of PRIMOS at all rings of protection in its later revisions. A subset compiler named CORC, developed at Cornell University for teaching a dialect called PL/C, had the unusual capability of never failing to compile any program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements. Another dialect of PL/I was PLAGO, created at the Polytechnic Institute of Brooklyn, which used a simplified subset of the PL/I language and focused on good diagnostic error messages and fast compile times.

Another variant of PL/I was PL/S, the IBM systems programming language. IBM used PL/S to write the MVS operating system in the early 1970s. IBM uses an improved and renamed PL/S for internal work on current operating systems, OS/390 and now z/OS.

PL/8 (or PL.8), so-called because it was about 80% of PL/I, was a simplified variant of PL/I, having fewer data types and much more limited input/output. A version was used on IBM mainframes as a development tool for software that was being designed for the AS/400, as well as to write the S/390 microcode.

IBM and various subcontractors also developed another variant in the early 1970s to support signal processing for the Navy called SPL/1.

The pioneering online airline reservation system Sabre, primarily written in 7090 assembler, later used PL/I and a custom compiler for some high-level tasks.

Although mostly used on mainframes, there are also PL/I versions for DOS, Microsoft Windows, AIX, OpenVMS, and Unix.



Article source: http://en.wikipedia.org/wiki/PL/I_(programming_language)






Go back to Articles home page

Go back to Programming Articles home page


A comprehensive selection of FREE Open Source Software Downloads is available from this site.

New software is added on a regular basis, with the software either being available for download directly from this site, or a link is provided to a third party site from where the software can be downloaded.

 



JDT

Copyright Notice for John Dixon Technology Ltd

Privacy Statement

Terms & Conditions