Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
- PL/I
- Language type:
- Description:
PL/I (Programming Language 1)
is a large, complex block-structured
language invented by IBM, and first
released in 1964 in conjunction with the
influential System/360 line of computers.
PL/1 was intended to be THE all-around
language for mainframe system and
application development, and therefore
it had a very large feature set. PL/1
was widely used by the IBM community,
and by
the early 1980s, PL/1 included the following
language facilities:
- functions and procedures
- huge complement of numeric data types
- array and record data types
- full set of control structures, including recursion
- charater strings and string manipulation
- COBOL-style 'picture' formats
- stream, record, and formatted I/O facilities
- bit strings
- generics
- interruptions (a form of error handling)
- dynamic storage management
- multi-tasking and asynchronous events
IBM spent a lot of effort developing
an optimizing compiler for PL/1, and
a lot of seminal research on high-level
language optimization was done in the
late 1960s and early 1970s on the PL/1
optimizing compiler.
Today, commercial
PL/I compilers are available for
IBM mainframes, PCs running WindowsNT
and OS/2, and some UNIX workstations.
No free PL/I compilers are currently
available (although there was a subset
compiler named PL/C that was free at
one time).
- Origin:
- See Also:
- Remarks:
PL/I was an attempt to compile the best
features of Algol (program structure,
semantics), FORTRAN (calculations),
and COBOL (data structuring, I/O) into
one new, all-purpose language. The
result was a very complex language, but
one that did serve most programming
purposes quite well. However, the
complexity of the language and the
resulting complexity of the compilers
and their diagnostics made writing
and debugging PL/I code burdensome for
many users.
PL/I was invented in the age of punch
cards, but the language syntax is
only slightly tarnished with column-specific
formatting rules. Newer versions of
PL/I have entirely shed their punched-card
legacy.
There is a great deal of legacy PL/I
code in the IBM mainframe community, and
skilled PL/I programmers are in demand
as the year 2000 deadline approaches.
- Links:
-
- Date:
- Sample code:
FINDSTRINGS: PROCEDURE OPTIONS(MAIN)
/* READ A STRING, THEN PRINT EVERY */
/* SUBSEQUENT LINE WITH A MATCH */
DECLARE PAT VARYING CHARACTER(100),
LINEBUF VARYING CHARACTER(100),
(LINENO, NDFILE, IX) FIXED BINARY;
NDFILE = 0; ON ENDFILE(SYSIN) NDFILE=1;
GET EDIT(PAT) (A);
LINENO = 1;
DO WHILE (NDFILE=0);
GET EDIT(LINEBUF) (A);
IF LENGTH(LINEBUF) > 0 THEN DO;
IX = INDEX(LINEBUF, PAT);
IF IX > 0 THEN DO;
PUT SKIP EDIT (LINENO,LINEBUF)(F(2),A)
END;
END;
LINENO = LINENO 1;
END;
END FINDSTRINGS;
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.