Pronounced PL/One, PL/I is a procedural, imperative, structured programming language used in scientific, engineering, business, and system programming. Introduced in the early 1960s, it is still in use and under active development by IBM.
In the 1950s and early 1960s, business and scientific computer users were on various types of hardware, using programming languages specific for the hardware. By the early 1960s, business users were moving from system languages to COBOL, while the scientific community were opting for languages like Fortran.
When IBM announced its IBM Sytem/360 in 1964, it was promoted as a common machine architecture for both business and science, replacing prior IBM architectures.
Seeking a common programming language for all users, IBM formed a committee to extend Fortran to include the features required by commercial programmers. The committee was made up of three IBM programmers and three members of SHARE, and IB scientific users group. They determined that Fortran could not be easily extended to meet the goals that they were given, and instead began designing a new language.
Based loosely on ALGOL, this new language was called NPL. However, this designation conflicted with the National Physical Laboratory in the UK, so it was replaced by MPPL, for MultiPurpose Programming Language. In 1965, it was again changed, this time to PL/I, with "I" being a Roman numeral for one rather than a letter designation. For that reason, it is sometimes referred to as PL/1.
IBM viewed this new language as a starting point, and PL/I has always been under active development. The SHARE user group, along with GUIDE (Guidance for Users of Integrated Data-Processing Equipment), were involved in extending the language and played a role in IBM's management of the language through various PL/I Projects. The first PL/I compiler was released in 1966, and the ANSI Standard for the language was approved in 1976.
PL/I was first implemented at the IBM Hursley Laboratories in the United Kingdom, as part of its System/360 development. The first compiler for PL/I was the PL/I F compiler for the OS/360 operating system, then rewritten in System/360 assembly language, although many aspects of the language were still under development at that time.
The PLI D compiler was developed at IBM Germany for the DOS/360 low-end operating system, coming out about a year after PL/I F.
In the 1960s, several groups developed compilers for PL/I. These included Early PL/I (EPL), which was a subset dialect of PL/I, developed at MIT and Bell Labs. The Honeywell PL/I compiler was an implementation of the full ANSI X3J1 standard.
IBM developed PLI/I Optimizer and PL/I Checkout, the latter of which was a rewrite of PLI/F in BSL, which later became PL/S, a machine-oriented programming language based on PL/I.
In 1988, Digital Equipment released and subset of the ANSI PL/I language known as Digital PL/I. It runs on VMS on VAX and Alpha and on Tru64.
Various North American universities used PL/I to establish time-sharing services on campus, which required conversational compiler/interpreters for use in teaching science, mathematics, engineering, and computer science. As the IBM offerings were not suitable for this purpose, some of these schools developed their own subsets of PL/I. Cornell University developed PL/C for teaching dialect. It was a fast compiler that included almost all of IBM's PL/I, adding the unusual capability of never failing to compile a program. Created at the Polytechnic Institute of Brooklyn, PLAGO used a simplified subset of PL/I and focused on good diagnostic error messages. The University of Toronto produced the SP/k compilers for teaching programming. Others included PL0 (University of New South Wales), PLUM (University of Maryland), and PLUTO (University of Toronto).
In 1992, IBM released PL/I for OS/2, a new compiler for its OS/2 operating system, including most of the ANSI-G features and adding several new features. Other releases included MVS, VM, OS/390, AIX, and Windows, although it has since withdrawn its support for Windows.
Other compilers, some of which are no longer supported, include CIMS PL/I, Iron Spring PL/I, Open PL/I for Windows, PL/6, PL/8, PL/G, PL/I for AIX, PL/M, PL/P, PLUS, Raincode PL/I, and UNIVAC PL/I.
PL/I dialects include HAL/S, PL/S, SabreTalk, SPL/I, and XPL.
The focal point of this guide is the PL/I programming language. Appropriate resources, then, include sites whose topics are focused on the language itself, or any of its dialects, compilers, IDEs, editors, or other tools designed to facilitate programming in PL/I, as well as PL/I user groups, forums, tutorials, or guides.
 
 
Recommended Resources
PL/I was created by IBM in the early 1960s, originally for its System/360 and, although it is no longer the primary language used by the company, the programming language continues to be maintained and actively developed by IBM and others, creating PL/I compilers for a variety of platforms and uses. Informational articles within the IBM Knowledge Center are featured here, and they include the use of PL/I for AIX, as well as the use of Enterprise PL/I for z/OS.
https://www.ibm.com/support/knowledgecenter/en/search/PL/I
Located in Ballston Spa, New York, Iron Spring Software produces the Iron Spring PL/I compiler, a cross-platform compiler for the PL/I programming language that supports both Linux and OS/2. Founded in 2007, the focus of the company has always been on bringing the language to a wider market. Compilers for both supported platforms may be downloaded from the site, which also presents a programming guide, various descriptions, and a downloadable collection of games.
http://www.iron-spring.com/
Softpanorama: PL/1 Programming Language
Describing PL/1 as the Cobol replacement that never got off the ground, except in the USSR, Softpanorama presents an introduction to the language, technically named PL/I, from its development at IBM, as well as a lengthy speculation as to why the language did not gain more widespread popularity, language features, with comparisons with other languages, the use of exceptions in PL/1, and other issues related to program structure, concluding with its qualities and uses.
http://www.softpanorama.org/Lang/pl1.shtml
SYS-ED PL/1 Programming Language Training Program
SYS-ED offers training and consultancy services in legacy programming languages, systems software, and web-enabled technologies with IBM mainframe systems, and also offers courseware, which is organized into a learning center. Its PL/1 (PL/I) training program includes sections on the mainframe environment, application development, and mainframe system software and optional courses. A syllabus for each course is presented, including the duration of each segment.
http://www.programmingbysysed.us/TrngPrg_PL1.htm
PL/I is a third-generation procedural language used in a wide range of applications, including systems software, graphics, simulations, text-processing, web applications, and business programming. Developed for mainframes, new compilers are now available, or under development, for a range of platforms. A description of the language, compilers and tools, a bibliography of books and articles, a style guide, and an overview of the PL/I family of languages are put forth.
http://www.teampli.net/