This posting contains a list of Frequently Asked Questions (and their answers) about PL/I -- Programming Language One. It should be read by anyone wanting to read the newsgroup comp.lang.pl1. It is of interest to anyone wanting to read any of the comp.lang.* newsgroups.
Posting-Frequency: three-monthly (Jan Apr Jul Oct)
Last-Modified: 28 September 2002
FREQUENTLY-ASKED QUESTIONS & ANSWERS
(Q1) What is PL/I?
PL/I is a general-purpose programming language, which
is used for solving problems in a variety of fields
such as commerce, science (including mathematics,
physics, chemistry), engineering (including civil, electrical,
aeronautics), medicine and so on. It can be used for
system programming, and the facilitites are such that
it is rarely if ever necessary to resort to machine-language
or assembly-language programming to solve problems.
PL/I has outstanding facilities for commercial and business use.
It has more power than Pascal, Fortran 95, BASIC, C, and
COBOL, and has comparable facilities to Ada.
The main areas where PL/I is superior include interrupt
handling, the built-in debugging aids, the macro
processor facilities, string-handling, and input-output
The language has good documenting and self-documenting
facilities; programs are easy to read and to understand.
It bears some resemblance to Fortran and BASIC.
The language is suitable for beginners, as well as for
anyone wanting to become a professional.
There's a summary of what you'll find in PL/I at:
or a slightly truncated version at:
(Q2) On what systems is it available?
PL/I is available on at least the following systems:
IBM PC and compatibles (80x86).
* IBM VisualAge PL/I for OS/2: is available in 2 versions:
Enterprisel Edition }
Professional Edition } Details at the bottom of this posting
accompanied by the
live editor LPEX
---available from IBM
* Liant Open PL/I, for 80x86 & Pentium running UNIX SVR3 and SVR4
---available from Liant Software Corporation,
959 Concord Street,
Framingham, MA 01701-4613,
Tel. (508) 872-8700, Fax (508) 626-2221
(their PL/I generally is available on Unix-based systems)
* Windows NT -- available from Liant Software Corporation.
* Windows NT -- available from IBM as VisualAge PL/I, with the
live parsing editor LPEX.
* DOS -- the original Digital Research PL/I for DOS. Available
from Discus Distributiuons at:
--- available from IBM.
--- available from IBM.
--- available as IBM VisualAge PL/I under OS/390.
HP 9000 HP-UX
--- available from Liant Software Corporation
SPARC SunOS 4.x, Solaris 2.x
--- available from Liant Software Corporation
IBM RS/6000 AIX
--- available from Liant Software Corporation (address above);
--- also available from IBM as VisualAge PL/I.
Data General AViiON with DG-UX
--- available from Liant Software Corporation
Compaq (formerly Digital Equipment Corporation) on Open VMS and Alpha
AXP systems (Tru64 Unix)
---The compilers from Kednos Corporation for these systems are
called "PL/I for Open VMS" and "PL/I for Tru64 Unix"
respectively. They took over support for PL/I from UniPrise.
Take a look at Kednos' web page: http://www.freja.kednos.com
for manuals and compilers.
For infomation, contact email@example.com
Stratus Computer, Inc. under VOS on all their systems except AX/R-S.
--- available from Stratus Computer, Inc.
Wang/Getronics systems. Recent updates make the compiler Y2K compliant.
--- available from Wang Laboratories, Billerica, Mass.
Fujitsu-Siemens BS2000 system.
--- visit them at:
where you can download a specification brochure in PDF format.
(Q3) How can I try out PL/I?
Why not try out the demo copy at:
There's also the original Digital Research PL/I for DOS at:
It's a subset of PL/I, of course, because it had to fit
in 64K originally (I think). There's the original manual too,
in MS Word 6 format, but as it's been scanned, it is incomplete.
Without an actual manual, I've taken it about as far as I can.
The PL/I Reference Manual is in Microsoft Word 6 format, zipped at:
If that mirror site is down, you could try to link to the main site at:
but as there have been problems connecting to it, don't count on it.
Find the PCDOS section, and then check out DOWNLOADS.
Be sure to download the utilities (including the linker)
as well as the compiler and sample codes.
You'll also need the compiler flags to use it, at:
It you want the CP/M-86 PL/I compiler, go to the same site
as mentioned above, and go to the PCDOS section, check out
DOWNLOADS, and the CP/M-86 section.
To order the compiler from IBM, go to:
Select "Software", then select "Application Development".
(Q4) What do the compilers provide?</H3>
All compilers provide enhanced versions of the ANSI standard
(the IBM AS/400 adheres to SAA rules, and DR PL/I implements
the subset G). There's a
summary of what you'll find in PL/I at:
Example PL/I source code, to implement the new built-in functions
(on non-OS/2, non-IBM-Windows and non-AIX systems and non-VisualAge
compilers on OS/390 machines) for:
The SEARCH built-in function:
The SEARCHR built-in function at:
and the VERIFY (3 argument version) and VERIFYR built-in functions at:
(these are in plain text form).
Further PL/I examples of a tutorial nature are at
(an insertion sort), and a
(a linked list creation procedure (under construction)).
In each case, click on the keywords for an explanation.
In the cases of IBM VisualAge PL/I for OS/2, PL/I set for AIX,
Windows NT, and OS/390 some important new language features are
provided and include:
(a) strongly-typed list processing in which the pointers
(handles) are bound to the structures with which they
(c) user-defined types;
(d) Unsigned integer type;
(e) New DO loop options that cause the loop to
terminate without overrunning the limit (specifically
for ordinals and unsigned integers); and
(f) A much-enhanced macro-processor.
(g) Initial support for wide character set, enabling such files to be
read and written. A number of new built-in functions for
wide characters is provided.
(this is not an exhaustive list)
There are also some 120 new built-in functions, including
extra-special DATE/TIME functions, string-handling
functions, housekeeping functions (e.g.,
where-am-I-called-from?), and ordinal functions
(including a function to supply the name of an ordinal!).
(Q5) What textbooks are available?
Some of the best include:
R.A. Barnes, PL/I for Programmers, North-Holland, 1979.
J.K. Hughes, PL/I Structured Programming, 3rd Ed., Wiley, 1986.
G.F. Groner, PL/I Programming in Technological Applications,
Books on Demand, Ann Arbor, MI, 1971.
M.E. Anderson, PL/I for Programmers, Prentice-Hall, 1973.
D.R. Stoutemyer, PL/I Programming for Engineering & Science,
R. Reddy & C. Ziegler, PL/I: Structured Programming and
Problem Solving, West, 1986, ISBN 0-314-93915-6.
Check out the Table of Contents:
E. Sturm, Das neue PL/I (fur PC, Workstations and Mainframe
(in German language), 5th Ed.,
See the table of contents at:
R. A. Vowels, http://www.users.bigpond.com/robin_v/PLI-BOOK.HTM
Introduction to PL/I, Algorithms, and
Structured Programming, 3rd revised Ed., 1998, ISBN
0-9596384-9-0. 600+ pages, A4 size.
See a list of the main algorithms at:
Comes with a disc containing all the programs,
procedures, and functions from the book. The
disc was first published in October 1996, and
was last updated in April 2001.
The following are good PL/I reference manuals. (The
new facilities of PL/I for OS/2 are highlighted. Therefore
you can use these manuals as references on either mainframe or
IBM, PL/I for OS/2: Language Reference, 1994 edition
IBM, PL/I for OS/2: Built-in Functions, 1994 edition
IBM, VisualAge PL/I Language Reference, Version 2.1, 1998 edition.
(Q6) Is there a newsletter?
The August 2002 issue of "The PL/I Newsletter" may be viewed at:
The November 2001 issue of "The PL/I Newsletter" may be viewed at:
The June 2001 issue of "The PL/I Newsletter" may be viewed at:
The September 2000 issue of "The PL/I Newsletter" may be viewed at:
You may download the July 2000 issue from:
The COBOL and PL/I Newsletter is at:
This newsletter replaces "The PL/I Connection" newsletter.
To see earlier issues of "The PL/I Connection", published by Team PL/I,
For specific most-recent issues, go direct:
December 1997 PL/I Connection,
April 1997 PL/I Connection, and
September 1996 PL/I Connection.
(Q7) Is there a home page?
There are at least eight of interest:
IBM's PL/I Home page. Click on the
"about" button for the "What is PL/I" page.
Click on the "Library" button for PL/I Reference
Manuals for various IBM platforms.
What is PL/I ? </A> gives you an overview of PL/I.
http://www.liant.com Liant Software Corporation
(then click on the LPI button)
(then select OpenVMS ..., or you may find the direct
link quicker ->
Yahoo's Language directory </A>
Or if you prefer, you can start on
Yahoo's main directory and take
it from there. When the Languages display comes up, go beneath the
main list, where you'll find PL/I. Click on that, and then you can
go to different sites.
The PL/I Oasis lists several interesting sites.
Peter Flass's PL/I home page.
Why not use PL/I </A>?
Other possible sites are as follows:
If you know of any other home pages, please advise the author.
(Q8) Where can I find discussion groups?
* A PL/I newsgroup was established in January 1996
following the passing on 3 January 1996 of voting for
the newsgroup "comp.lang.pl1" (350 votes for, 18
* Join PL1-L@listserv.dartmouth.edu on the internet.
To subscribe, send a note to firstname.lastname@example.org
In the body of the note, enter:
SUB PL1-L yourname
To post a comment, send it to email@example.com
* On Compuserve, enter: go os2df1
Then go to subsection 6: "Rexx and other languages".
See also http://www.software.ibm.com/ad/pli/pliforum.htm
* Russian: Discussion of PL/I in Russian takes place on
* German: Seems to take place at: de.comp.sys.amiga.misc
* Or consider attending a SHARE PL/I presentation as either a
spectator or presenter. Postings appear from time to
time in comp.lang.pl1
(Q9) How did PL/I originate?
PL/I came into being as a result of an attempt to produce
a revision of FORTRAN. Such were the changes necessary that
it was not possible to introduce the new features needed
to bring FORTRAN up-to-date, and to be compatible with
existing prgrams, that it was decided to introduce a
new language that incorporated the best features of the
then main languages FORTRAN, COBOL, and Algol.
Originally, the new language was called "New Programming
Language", or NPL. However, as these initials were
already taken by the National Physics Laboratory in
Britain, the name became PL/I (for Programming Language One).
The new language contained features not then seen before in
a general-purpose programming language -- including interrupt
handling, array operations, list processing, and a macro
There is some controvesy over the name -- whether it is PL/I
or PL/1. The first manuals (for the first compiler, the
IBM PL/I (F) compiler) called it PL/I, not PL/1. The ANSI
standard calls it PL/I. The title of the first reference
"IBM System 360 PL/I (F) Language Reference Manual", 1966.
(Q10) What tools are available?
Some are: [this question is under construction]
PL/I Analyzer is a reverse engineeering and re-engineering tool,
Phoenix Software Technologies, 6701 Democracy Blvd,
Suite 300, Bethesda MD 20817, U.S.A. Tel (301) 571-2431
Version 2.0 is the latest, with Year 2000 diagnosis.
Phoenix has also released PLI-2000, a tool for locating
Year 2000 problems.
Phoenix Software Technologies provides tools and services for Software
Maintenance, legacy Software reengineering and the Year 2000
(Y2K, Millennium) Problem including PL/I and Natural/Adabas.
MicroFocus offers tools to accompany PL/I for OS/2. For more infomation,
contact them at Suite 400, 2465 East Bayshore Road, Palo Alto, CA 94303,
U.S.A. Visit: http://www.mfltd.co.uk/
PLIFORM is a PL/I source code formatter, available from
Magicon, Inc. You'll find them at:
1124 Linda Drive, Campbell, California 95008-4507, U.S.A.
Peter Osterman's PL/I source code reformatter.
The PL/I source code reformatter for Windows (formpli3.exe,
414k self extracting file) created by Peter Ostermann of Germany
and made available by the IBM Team PL/I members.
The PL/I source code reformatter at:
can help make jumbled code more readable by putting statements
on separate lines and pointing out the nesting levels by indention.
The reformatter is a standalone product, is easy to use, and
does the job in a few seconds. It requires just one megabyte
of disk space, so give it a try.
Send suggestions or comments to: Peter.Ostermann@nwn.de
for more information and download on Peter's personal web page.
This PL/I package from Eberhard Sturm implements the REXX parse macro
on the mainframe and the workstation:
(Q11) What's happening? What conferences?
Find out <A HREF = "wots-hot.htm"> What's New?
(Q12) Where can I read about PL/I?
The URL http://www.ionet.net/~mclapper/
is a white paper on object-oriented PL/I programming.
An interesting article on PL/I appeared in the Enterprise
Systems Journal in December 1995. You can view Lou Marco's
"In Praise of PL/I" at:
Why not take a look at the paper
Power vs Adventure -- PL/I and C ?
Another paper on PL/I and C is Richard Perkinson's "To 'C' or Not to 'C'"
To order PL/I:
You can now order - and receive - IBM's PL/I for Windows online! Check out the
Electronic Showcase Delivery page at
There is also a link to this from the PL/I home page.
ESD is currently a pilot program and is available in EMEA countries and
You may read this in http://www.users.bigpond.com/robin_v/pli_faq.htm