On Thursday, January 11, 1996 at 7:00:00 PM UTC+11, ++ robin wrote:
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 can be used for commercial data processing, numerical methods,
text processing, list processing, system programming,
real-time system programming, and picture file processing,
to mention a few specific applications.
.
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
(see below for a link to a summary).
.
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.
For anyone writing programs, a PL/I compiler is a "must have".
.
There's a summary of what you'll find in PL/I at:
.
http://members.dodo.com.au/~robin51/pliwhat.htm
.
(Q2) On what systems is it available?
.
PL/I is available on at least the following systems:
.
* Iron Spring PL/I runs on Linux and OS/2. Free download at
http://www.iron-spring.com
.
1 July 2019: PL/I beta version 0.9.10b released.
This release contains bugfixes and performance enhancements.
See the readme file for your system for a listing.
.
Iron Spring PL/I version 9.9.9a released 14 December 2016:
.
Iron Spring Software released compiler and library version 0.9.9a.
This is primarily a maintenance release that contains fixes for a number of
reported problems. See the readme files for a complete listing of major
changes, at
http://www.iron-spring.com
.
21 May, 2009: PL/I beta version 0.8a released.
.
This version adds list-directed input, the DISPLAY statement,
and the condition-handling builtins ONCHAR, ONCODE, ONCOUNT,
ONFILE, ONKEY, ONLOC and ONSOURCE.
.
A cross-reference listing can now be produced, and subscripted label
constants are supported.
.
ELF object files can now optionally be generated in addition to the
standard OMF.
.
A full list of enhancements and bugs fixed is available in the
"readme" file in the zip.
.
The older Version 0.6a added the %REPLACE preprocessor
statement, the 'FROMALIEN' procedure option to allow calls to
PL/I from other languages, and packages the runtime library as
a DLL and import library in addition to the previously
distributed static object library.
.
* Solaris ix (Intel)
.
IBM AS/400
--- available from IBM.
.
IBM mainframes
--- The followIng versions are available from IBM:
IBM Enterprise PL/I for z/OS and OS/390
provides access to DB2, CICS, IMS, and other data and
transactions systems.
.
* VisualAge PL/I for OS/390
.
* PL/I for MVS & VM
.
* PL/I for VSE
.
* PL/I for VSE/ESA is for MVS & VM
.
* IBM OS/390 (IBM z/OS) available as Enterprise PL/I.
.
IBM RS/6000 AIX
--- available from IBM as Enterprise PL/I.
.
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.
.
Although Kednos ceased trading in 2016, their web site is still
open. Manuals and software can be downloaded from the site.
Hobbyist licenses can be obtained.
See Kednos' web page:
http://www.kednos.com
for manuals and compilers, and further inforation.
.
(Q3) How can I try out PL/I?
.
Iron Spring PL/I, runs under OS/2 and Linux. Free download from
.
http://www.iron-spring.com
.
It's still under development, and implements most of PL/I.
.
The IBM PL/I (F) compiler is available as an integral part
of the TurnKey System TK4- created by Jürgen Winkelman of
ETH Zurich at the site
http://wotho.ethz.ch/tk4-/. This easy
to install, and to use MVS 3.8j on Hercules System 370, allows
to open the world of PL/I and mainframe experience to everyone,
out of the box. Its TSO user interface can be accessed through a 3270
display and input device, emulated by wc3270(Windows) / x3270(Linux).
A "card reader" input makes it easy to compile and run programmes
written in PL/I.
.
The group "PL/I(F) and MVS 3.8j" is a platform supporting all
activities in this context. PL/I language specific topics, up to the most
accurate versions, of all brands, are even more important today.
.
It is at groups.io.
.
To apply to join the group, go to
http://groups.io/g/pl1f-and-mvs38j
.
Markus's latest project is enhancing the PL/I(F) compiler's functionalities
in the groups topic "PL/I(F) Face Lifting".
Add-on libraries will include a number of built-in functions,
built-in procedures, and language elements (by MACRO), in order to
bring it closer to the current versions of IBM's PL/I compiler."
.
There's the original Digital Research PL/I for DOS at:
.
https://winworldpc.com/product/digital-research-pl-i-compiler/1x
.
Make sure you get the PL/I library and all the other stuff.
DR PL/I is 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.
The corresponding PL/I Reference Manual is in Microsoft Word 6 format,
zipped at:
.
http://members.dodo.com.au/~robin51/ref-w6.zip
.
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:
.
http://members.dodo.com.au/~robin51/options.txt
.
Russian users have available PL/I-KT, which is a development
of DR PL/I, with extensions: parallel procedures execution etc.
The 32-bit version of PL/I-KT runs on Windows XP, 7, 8
The 64-bit version of PL/I-KT runs on Windows 10.
These versions deliver error messages in Russian, and will not
run with western versions of Windows.
For details, see www.pl1.su
.
Russian users have available the following:
https://pl1.su/drugie-kompiljatory-pl-i/ibm/visualage-opisanie-skachat/
(in Russian Language, Google translation is available).
.
On the VMS platform, either VAX or Alpha --
For personal use, the Kednos PL/I compiler
and documentation may be downloaded free from
http://www.kednos.com .
To run the free version, you will need a
Hobbyist license, which may be obtained by following the links
at
http://www.kednos.com .
If you don't have VMS, you can run the CHARON VAX emulator on W2K.
.
Here's another suggestion from From: "Tom Linden" <
[email protected]>,
Kednos Date: Sat, 08 Oct 2005 08:17:57.
.
Purchase either PWS xxx (where xxx = 433, 500 or 600)
or XP1000 Alpha box, you can probably get one for $200 to $600
off ebay, install Hobbyist version of VMS and Hobbyist version
of PL/I, both free and you will have a far superior environment.
You will never see a BSOD and you will never get hacked.
Install WASD web server, also free, you will have a hack-proof
high performance web server.
There is also a lot more freeware available.
.
(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:
.
http://members.dodo.com.au/~robin51/pliwhat.htm
.
Example PL/I source code, to implement the new built-in functions
(on systems other than OS/2, VisualAge for Windows, AIX systems
and Enterprise PL/I for z/OS, and earlier systems) for:
.
The SEARCH built-in function:
.
http://members.dodo.com.au/~robin51/search.htm
.
The SEARCHR built-in function at:
.
http://members.dodo.com.au/~robin51/searchr.htm
.
and the VERIFY (3 argument version) and VERIFYR built-in functions at:
.
http://members.dodo.com.au/~robin51/verify.htm
.
(these are in plain text form).
.
Further PL/I examples of a tutorial nature are at
.
http://members.dodo.com.au/~robin51/shell.htm
.
(an insertion sort), and a
.
http://members.dodo.com.au/~robin51/lists.htm
.
(a linked list creation procedure (under construction)).
.
In each case, click on the keywords for an explanation.
.
The IBM products deserve special attention because
the same PL/I features are available on z/OS, and AIX.
(they are the OS/2 compiler ported to these other systems).
.
You can download a free 60-day trial of PL/I for AIX
(or buy it) from
https://www.ibm.com/au-en/marketplace/pli-compiler-aix
.
In the cases of IBM Enterprise PL/I for z/OS, and PL/I for AIX,
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
are linked;
(b) ordinals;
(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) A data type DATE for handling two-digit and
four-digit years that,
together with new date functions, are
known as the Millennium Language Extensions.
(h) Support for wide character set, enabling such files to be
read and written. A number of built-in functions for
wide characters is provided, as well as for UTF strings.
.
(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,
Prentice-Hall, 1971.
R. Reddy & C. Ziegler, PL/I: Structured Programming and
Problem Solving, West, 1986, ISBN 0-314-93915-6.
Check out the Table of Contents:
http://members.dodo.com.au/~robin51/reddy.txt
E. J. Newhold & H. W.Lawson, The PL/I Machine, Addison-Wesley,
Reading (Mass), 1971.
E. Sturm, The New PL/I ... for PC, Workstation and Mainframe,
Vieweg-Teubner, Wiesbaden, Germany, 2009.
ISBN: 978-3-8348-0726-7.
E. Sturm, Das neue PL/I (fur PC, Workstations und Mainframe)
(in German language), 7th Ed., Vieweg-Verlag (2008)
ISBN: 3-528-44792-3
See the preface at:
https://www.uni-muenster.de/ZIV.EberhardSturm/
.
R. A. Vowels, Introduction to PL/I, Algorithms, and
Structured Programming, 3rd revised Ed.,
ISBN 0-9596384-9-0. 600+ pages, A4 size.
See a list of the main algorithms at:
http://members.dodo.com.au/~robin51/algor-p.htm
Comes with a disc containing all the programs,
procedures, and functions from the book. The
disc was first published in October 1996, and
was most-recently updated in January 2005.
.
The following are good PL/I reference manuals for most systems.
(The new facilities of PL/I for OS/2 are highlighted. Therefore
you can use these manuals as references on either mainframe or
PC system.)
.
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.. For recently-added builtin functions and language enhancements,
you'll need IBM's current PL/I reference manuals:
https://www.ibm.com/support/pages/enterprise-pli-zos-documentation-library#Table526
See the answers for Question 7 for more current IBM manuals.
.
(Q6) Is there a newsletter?
.
Yes.
The October 2009 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n11.htm
The June 2008 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n10.htm
The April 2006 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n9.htm
The January 2005 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n8.htm
The December 2003 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n7.htm
The December 2002 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n6.htm
The August 2002 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n5.htm
The November 2001 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n4.htm
The June 2001 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n3.htm
The September 2000 issue of "The PL/I Newsletter" may be viewed at:
http://members.dodo.com.au/~robin51/pli-n2.htm
You may download the July 2000 issue from:
http://members.dodo.com.au/~robin51/pli-n1.doc
.
(Q7) Is there a home page?
.
There are at least eight of interest:
IBM:
Current PL/I manuals for z/OS may be seen at
(and downloaded from):
https://www.ibm.com/support/pages/enterprise-pli-zos-documentation-library#Table526
The manuals are in English and Japanese.
Announcement letters, data sheets, product documentation etc
are found at:
https://www.ibm.com/support/pages/enterprise-pli-zos-documentation-library
.
A very detailed history of the development of PL/I
and a description of the language is to be found at
https://en.wikipedia.org/wiki/PL/I
.
A short history of PL/I in Russian language is to be seen at
www.pl1.su
.
What is PL/I ?
http://members.dodo.com.au/~robin51/pliwhat.htm
gives you an overview of PL/I.
.
http://www.dec.com/home.html Digital
(then select OpenVMS ..., or you may find the direct
link quicker ->
.
http://www.kednos.com Kednos
.
http://www.yahoo.com/Computers_and_Internet/Languages/
Yahoo's Language directory </A>
Or if you prefer, you can start on
http://www.yahoo.com/
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.
.
Peter Flass's PL/I home page.
.
http://home.roadrunner.com/~pflass/mirrors/robin_v/
A mirror site for Robin Vowels' site.
.
http://members.dodo.com.au/~robin51/why_not.htm
Why not use PL/I?
.
Other possible sites are as follows:
.
Japan:
http://www.ibm.co.jp/pc/prod/sa/0272.html
.
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
votes against).
.
* Join PL1-L [at] listserv.dartmouth.edu on the internet.
To subscribe, send an email to listserv [at] listserv.dartmouth.edu
In the body of the email, enter:
.
SUB PL1-L yourname
.
To post a comment, send email to PL1-L [at] listserv.dartmouth.edu
.
* On Compuserve, enter: go os2df1
Then go to subsection 6: "Rexx and other languages".
.
* See also IBM'S forum:
.
https://www.ibm.com/developerworks/community/forums/html/forum?id=02d62102-236b-4bed-be19-2b17da1603d8
.
You can read the postings there, and if you wish to contribute
to any discussion, you will need to register.
.
* Russian: Discussion of PL/I in Russian language takes place on
www.pl1.su (with Google translation to English)
www.compiler.su (Russian language only)
.
* 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 in about 1964. 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 programs, 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).
.
First introduced in 1966, 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 pre-processor.
.
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
manual is:
"IBM System 360 PL/I (F) Language Reference Manual", 1966.
.
(Q10) What tools are available?
.
Some are: [this question is under construction]
.
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
is now freeware.
.
The PL/I source code reformatter at:
.
http://home.nwn.de/peter.ostermann/formpli3.exe
.
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:
[email protected]
.
Visit:
http://home.nwn.de/peter.ostermann/hobby.html
.
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:
.
http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm/parse.inc
.
(Q11) What resources are available?
.
* A large library of PL/I procedures for numerical work is available at
http://members.dodo.com.au/~robin51/numeric.htm
.
*
You'll find more PL/I codes at the PL/I Resources Page:
http://members.dodo.com.au/~robin51/resource.htm
.
* Examples of PL/I codes are to be found at the Wiki Rosetta page:
http://rosettacode.org
.
This site gives examples of codes in various programming languages.
Choose "By language" from the directory at the left-hand side,
near the top, and then choose PL/I. Here you'll find over
100 PL/I solutions to problems.
.
* A FORTRAN to PL/I language translator is available.
Contact r|o|b|i|n|5|1 at dodo dot com dot au
(omit the vertical bars, and make the usual substitutions elsewhere.)
.
* A C to PL/I language translator (in .EXE form) is available.
Contact the afore-mentioned.
.
The above two translators are useful for converting old programs.
Of course, it isn't always necessary to do a conversion,
because some PL/I compilers (in particular IBM compilers)
produce code that can call Fortran procedures and C procedures.
.
* For useful PL/I resources and links, see :-
.
http://www.google.com/Top/Computers/Programming/Languages/PL/PL-I/
.
* Take a peek at the Software Designer's Handbook at :-
.
http://en.wikibooks.org/wiki/Software_Engineers_Handbook/Language_Dictionary/PLI
.
(Q12) What's happening? What conferences?
.
Find out what's new?
http://members.dodo.com.au/~robin51/wots-hot.htm
.
(Q13) Where can I read about PL/I?
.
* The URL
http://www.ionet.net/~mclapper/
.
is a white paper on object-oriented PL/I programming.
.
The paper PL/I for OS/2 by R. Vowels describes new features
of PL/I for OS/2. It appeared in ACM SIGLAN Notices,
Vol. 31 No. 3, March 1996.
.
Do a Google search for "PL/I for OS/2".
.
* 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:
.
http://members.dodo.com.au/~robin51/enterp.htm
.
* Has the King Returned? by Conrad Weisser makes interesting reading.
ACM SIGPLAN Notices, Vol. 28 No. 4, April 1993.
http://www.kednos.com/king.pdf
.
Do a google search for "Has the King Returned".
.
* Why not take a look at the paper, "Power vs Adventure -- PL/I and C" ?
.
http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm/PL1andC.html
.
* Another paper on PL/I and C is Richard Perkinson's "To 'C' or Not to 'C'"
at
http://members.dodo.com.au/~robin51/perkins.htm
.
* F. J. Corbato's paper on choice of PL/I as a systems programming language
is worth a read.
http://home.nycap.rr.com/pflass/PLI/plisprg.html
.
(Q14) Is there any implementation of Object-Oriented Programming?
.
Patrick Senti implemented a precompiler to PL/I to support
object-oriented programming in PL/I - in 1994. He has contributed
it to the open source community and made it available at
.
http://sourceforge.net/projects/oopli.
.
(Q15) What manuals are available?
In addition to current IBM manuals (see Answers to Question 7)
there is also
.
The PL/I Virtual Reference Library at
.
http://teampli.net/plilib.html#ibmepli
.
provides a library of downloadable PL/I reference
manuals from 1966,including PL/I(F).
.
(Q16) How can I order PL/I?
.
IBM PL/I provides compatible, cross-platform,
cross-product compilers that support z/OS, OS/390, VM, VSE/ESA,
AS/400, AIX.
.
To order IBM PL/I, contact IBM in your country.
.
Note that Kednos PL/I is free for non-commercial use,
and that Iron Spring PL/I compiler is free.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)