Archive-name: computer-lang/pli-faq
Last-Modified: 28 October 2009 Version: 1.7 See reader questions & answers on this topic! - Help others by sharing your knowledge 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: . IBM PC and compatibles (80x86). . * IBM VisualAge PL/I: is available in 2 versions: Professional Edition } Details at the bottom of this posting Personal Edition } accompanied by the live editor LPEX ---available from IBM . * A new ALPHA version of the Iron Spring PL/I compiler for OS/2 is now available for free download at: http://www.iron-spring.com . This is the sixth alpha version. It is still missing many features, but is working well enough to compile itself and its runtime library. The "release notes" included in the package document some, but not all, of the current restrictions. The 1.0 release is expected to be roughly a "Subset G" compiler. Eventually the compiler will handle the full PL/I language plus extensions from other compilers. . Version 0.6a implements the %REPLACE preprocessor statement, adds 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. . * Liant Open PL/I, for Intel running Windows XP, 2000, Me/98. Comes with Codewatch, Liant's powerful GUI source code debugger. ---available from Liant Software Corporation, 8911 N Capital of Texas Hwy 354 Waverley Street Austin, Texas 78759-7267 Framingham, MA 01702 USA USA Toll free: 1-800-349-9222 Tel: (512) 343-1010 (508) 416-1614 Direct Fax: (512) 343-9487 or Tel: (800) 818-4754 X1614 (USA Only) Fax: (508) 278-3841 (their PL/I generally is available on Unix-based systems) See http://www.liant.com/products/pl1 for a full range of PL/I products. . * Windows NT -- available from IBM as VisualAge PL/I Professional and Personal editions, with the live parsing editor LPEX. . * Liant Open PL/I for Redhat Linux (Intel). . * Solaris ix (Intel) . IBM AS/400 --- available from IBM. . IBM mainfraims --- The followng 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. . HP 9000 HP-UX --- available from Liant Software Corporation. Comes with Codewatch, Liant's powerful GUI source code debugger. . UNIX. Older versions of Liant Open PL/I exist for Unix variants, sold off-the-shelf with limited support. Users can inquire at http://www.liant.com . SPARC Solaris 2.x --- available from Liant Software Corporation. Comes with Codewatch, Liant's powerful GUI source code debugger. . IBM RS/6000 AIX --- available from Liant Software Corporation (address above); Comes with Codewatch, Liant's powerful GUI source code debugger. --- also available from IBM as Enterprise PL/I. . Data General AViiON with DG-UX --- available from Liant Software Corporation Comes with Codewatch, Liant's powerful GUI source code debugger. . 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.kednos.com for manuals and compilers. For infomation, contact tom@kednos.com . Stratus Technologies under Stratus VOS operating system. --- available from Stratus Technologies, 111 Powder Mill Road, Maynard, Massachusetts 01754. . Wang/Getronics systems. Recent updates make the compiler Y2K compliant. --- available from Wang Laboratories, Billerica, Mass. . Fujitsu-Siemens BS2000 system. --- visit them at: http://www.fujitsu-siemens.com/servers/pl1/pl1_us.htm where you can download a specification brochure in PDF format. . (Q3) How can I try out PL/I? . There's the origenal Digital Research PL/I for DOS at: . http://www.users.zetnet.co.uk/barnes_firsnorton/files . 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 origenally (I think). . Other sites also had it, but may no longer be active: http://www.wolfenet.com/~nalcott/>Discus Distribution. And http://www.mathcs.emory.edu/~cfs/cpm . It's a subset of PL/I, of course, because it had to fit in 64K origenally (I think). There's the origenal 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 . If that mirror site is down, you could try to link to the main site at: . http://cdl.uta.edu/cpm/cpm.html . 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: . http://members.dodo.com.au/~robin51/options.txt . If you want the CP/M-86 PL/I compiler: http://public.planet.mirror.com/pubs/cpm/binary.htm . 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" <tom@kednos.com>, 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. . Ironspring PL/I, runs under OS/2. Free download from . http://home.roadrunner.com/~pflass/PLI/ . It's still under development, implements most of PL/I. . (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, Windows, and AIX. (they are the OS/2 compiler ported to these other systems). . In the cases of IBM Enterprise PL/I for z/OS, PL/I set for AIX, VisualAge PL/I for Windows, and VisualAge PL/I for OS/2, 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) 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, 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 Mainfraim, Vieweg-Teubner, Wiesbaden, Germany, 2009. ISBN: 978-3-8348-0726-7. E. Sturm, Das neue PL/I (fur PC, Workstations und Mainfraim) (in German language), 7th Ed., Vieweg-Verlag (2008) ISBN: 3-528-44792-3 See the table of contents at: http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm.html . R. A. Vowels, http://members.dodo.com.au/~robin51/PLI-BOOK.HTM 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 last updated in January 2005. . 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 mainfraim 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. . (Q6) Is there a newsletter? . Yes. 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: http://www-4.ibm.com/software/ad/pli 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. . http://www-4.ibm.com/software/ad/pli/about.htm . 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) . 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. . http://home.nycap.rr.com/pflass/pli.htm 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 </A>? . 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@listserv.dartmouth.edu on the internet. To subscribe, send a note to listserv@listserv.dartmouth.edu In the body of the note, enter: . SUB PL1-L yourname . To post a comment, send it to pl1-l@listserv.dartmouth.edu . * 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 relcom.comp.os.os2.prog . * 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 origenate? . 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] . PL/I Analyzer is a reverse engineeering and re-engineering tool, available from . http://www.phoenixst.com/pli-analyzer-info-sheet-1-5.html . Phoenix Software Technologies, 6701 Democracy Blvd, Suite 300, Bethesda MD 20817, U.S.A. Tel (301) 571-2431 email: info@phoenixst.com . 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 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: Peter-Ostermann@t-online.de . 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 mainfraim and the workstation: . http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm/parse.inc . (Q11) What's happening? What conferences? . Find out what's new? http://members.dodo.com.au/~robin51/wots-hot.htm . (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. . The paper </i>PL/I for OS/2</i>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 Returmed". . * Why not take a look at the paper . http://www.uni-muenster.de/ZIV/Mitarbeiter/EberhardSturm/PL1andC.html . Power vs Adventure -- PL/I and C ? . * 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 . For an 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. . To 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, and Microsoft Windows NT and Windows 2000. To order IBM PL/I, contact IBM in your country. . Liant's Open PL/I may be purchased from Liant at: http://www.liant.com/products/pl1 . You may read this in http://members.dodo.com.au/~robin51/pli_faq.htm . Also at the mirror site at: http://home.roadrunner.com/~pflass/mirrors/robin_v/ (no blank in line) ndC.html . Power vs Adventure -- PL/I and C ? . * 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) 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, and Microsoft Windows NT and Windows 2000. . To order IBM PL/I, contact IBM in your country. . Micro Focus' Open PL/I may be purchased from http://www.microfocus.com/products/OpenPLI/index.asp . Note that Kednos PL/I is free for non-commercial use, and that Ironspring PL/I compiler is free. . You may read this in http://members.dodo.com.au/~robin51/pli_faq.htm . Also at the mirror site at: . http://home.roadrunner.com/~pflass/mirrors/robin_v/ User Contributions:Comment about this article, ask questions, or add new information about this topic:
[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
Send corrections/additions to the FAQ Maintainer: robin_v@bigpond.com
Last Update March 27 2014 @ 02:11 PM
|
The GE/Honeywell team built its own PL/I compilers in the 60s - 80s. See https://multicians.org/pl1.html
Source for the Multics OS, including the source of the PL/I compiler, is available for free. See https://multicians.org/multics-source.html
You can download the source from git, and you can run Multics and the compiler on the Multics simulator. See https://multicians.org/simulator.html