What is pli?

PLI (pronounced “P‑L‑one”) is a high‑level programming language created by IBM in the mid‑1960s. It was designed to combine the best features of scientific languages (like FORTRAN) and business languages (like COBOL) into one versatile language for data processing, engineering calculations, and system programming.

Let's break it down

  • Syntax - Looks similar to English, with statements like IF, DO, and END.
  • Data Types - Supports integers, floating‑point numbers, character strings, and complex structures called “records.”
  • Control Structures - Includes loops (DO WHILE, FOR), conditionals (IF...THEN...ELSE), and exception handling (ON‑ERROR).
  • I/O - Built‑in commands for reading and writing files, handling keyboards, printers, and terminals.
  • Compilation - Source code is compiled into machine code for the target system, often a mainframe.

Why does it matter?

PLI was one of the first languages to try to be a “one‑size‑fits‑all” solution, so many early computer systems used it for both scientific calculations and business data processing. Its design influenced later languages and it still runs critical legacy applications that cannot be easily rewritten.

Where is it used?

  • Large mainframe environments in banks, insurance companies, and government agencies.
  • Legacy scientific and engineering software that was written in the 1970s‑1990s.
  • Some embedded systems that still rely on IBM‑compatible hardware.
  • Educational settings that study the history of programming languages.

Good things about it

  • Very versatile: can handle numeric, character, and complex data in one program.
  • Strong typing helps catch errors early.
  • Powerful built‑in I/O makes file handling straightforward.
  • Good support for parallel and concurrent processing on mainframes.
  • Mature compilers produce highly optimized machine code for IBM systems.

Not-so-good things

  • Steep learning curve; the language is large and has many legacy features.
  • Limited modern development tools, IDEs, and libraries compared to newer languages.
  • Small community; finding help or tutorials can be difficult.
  • Mostly tied to IBM mainframe environments, reducing portability to other platforms.
  • Few new projects choose PLI, so most developers avoid it for fresh development.