Description #
PL/I (Programming Language One) is a compiled language developed for scientific, engineering, and business applications. It was designed to unify features from COBOL, FORTRAN, and ALGOL into a single high-performance language capable of handling data-intensive and multitasking programs.
History #
PL/I was introduced by IBM in the mid-1960s for use on its mainframe systems. It was part of a broader push to consolidate the programming needs of enterprise environments into one language. PL/I supported advanced features like exception handling, multitasking, recursion, and data structures long before they were common in other mainstream languages.
Hello World Code #
HELLO: PROCEDURE OPTIONS (MAIN);
PUT LIST('Hello, World!');
END HELLO;
How to Run #
Option 1: Online
https://replit.com/@verisimilitude/pl1-sandbox
Option 2: Local
- Use the IBM PL/I compiler (mainframe)
- Or install IronSpring PL/I (open-source compiler for Linux)
https://github.com/IBM/PL1compiler
Compile and run:
pli hello.pli
./a.out
Key Concepts #
- Syntax style: Verbose, English-like keywords
- Typing discipline: Static, with rich data types (including fixed-point, complex, structures)
- Execution model: Compiled to native code
- Common use cases: Mainframe applications, data processing, banking systems
- Toolchain or ecosystem: IBM z/OS PL/I, IronSpring PL/I
- Paradigms supported: Imperative, structured, procedural
- Compilation details: Direct compilation to object code
- Strengths or quirks: Exception handling (
ON
conditions), multitasking, precision numeric types - Libraries/frameworks: Standard I/O and math libraries
- Community/adoption: Legacy use in enterprise systems, especially banking and insurance
Try It Online #
https://replit.com/@verisimilitude/pl1-sandbox
Fun Facts #
PL/I was one of the first languages to support structured exception handling and concurrent programming. Though it’s largely faded from modern use, it still powers mission-critical systems in finance, government, and healthcare.