PL/I: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
==Description== | ==Description== | ||
[[Image:George-Radin.png|thumb|200px|right|'''George Radin'''<br>1931-01-22 to 2013-05-21 - One of the principal developers of PL/I at IBM]] | [[Image:George-Radin.png|thumb|200px|right|'''George Radin'''<br>1931-01-22 to 2013-05-21 - One of the principal developers of PL/I at IBM]] | ||
A procedural programming language introduced in mid 1960's by [[IBM]], originally development was started in 1964 under the auspices of George Radin with the aim of making an updated version of [[FORTRAN]] that could better handle generic programming tasks,but in the end it was decided to implement a new language based on [[ALGOL]] that would also incorporate features from [[COBOL]] and FORTRAN. | |||
The language is sometimes incorrectly known as PL/1, while the language is indeed named '''Programming Language One''', the one was always meant to be expressed as a Roman numerical rather than an Arabian one, as is the tradition with computer languages even today. The Arabic 1 is only used on vintage computer and communications systems like [[USENET]] where the lower case only system or display limitation means that there is not Roman I available. | |||
There are some variants of the language that are by now completely forgotten such as the safe variant '''SPL/I''', that was designed at the behest of the USA department of defence in the early 1970's and was intended to be the language used for all non-business type programming done for the DoD but it end they gave up due to the variability of implementations and | There are some variants of the language that are by now completely forgotten such as the safe variant '''SPL/I''', that was designed at the behest of the USA department of defence in the early 1970's and was intended to be the language used for all non-business type programming done for the DoD but it end they gave up due to the variability of implementations and | ||
====PL/M==== | ====PL/M==== | ||
A language introduced in 1972 by [[Gary Kidall]] to allow development of computer programs for 4 and 8 bit microcomputers, full name being '''Programming Language for Microcomputers'''. Initially a very minimalistic version of PL/I that lacked even a standard I/O but later versions added features from sundry languages, which makes the latter PL/M | A language introduced in 1972 by [[Gary Kidall]] to allow development of computer programs for 4 and 8 bit microcomputers, full name being '''Programming Language for Microcomputers'''. Initially a very minimalistic version of PL/I that lacked even a standard I/O but later versions added features from sundry languages, which makes the latter PL/M releases somewhat unlike PL/I in many respects. Kidall sold the rights to his compiler to [[Intel]] who sold a version of the language for about 30 years mainly targeting the embedded market, but in addition he used the language to develop the [[CP/M]] operating system and used it as the main development language of [[Digital Research]] until the mid 80's. Digital released a PL/I compiler at the end of the decade for CP/M that implemented a properly defined subset of the language and that toolkit was later ported to [[DOS]] | ||
==A list of OS/2 implementations of PL/I== | ==A list of OS/2 implementations of PL/I== | ||
Line 50: | Line 52: | ||
====External articles==== | ====External articles==== | ||
* [http://www.multicians.org/pl1.html The Choice of PL/I] - An article on why they choose to implement [[Multics]] in PL/I. | * [http://www.multicians.org/pl1.html The Choice of PL/I] - An article on why they choose to implement [[Multics]] in PL/I. | ||
* [http://members.dodo.com.au/robin51/pli_faq.htm PL/I FAQ] | |||
====Tutorials and other learning material==== | ====Tutorials and other learning material==== | ||
* [http://en.wikibooks.org/wiki/Software_Engineers_Handbook/Language_Dictionary/PLI Software Engineers Handbook/Language Dictionary/PLI] - From Wikibooks, more of a command listing than anything else and not complete. | * [http://en.wikibooks.org/wiki/Software_Engineers_Handbook/Language_Dictionary/PLI Software Engineers Handbook/Language Dictionary/PLI] - From Wikibooks, more of a command listing than anything else and not complete. | ||
Line 68: | Line 71: | ||
==PL/I history== | ==PL/I history== | ||
A procedural programming language introduced in mid 1960's by [[IBM]], originally development was started in 1964 under the auspices of George Radin with the aim of making an updated version of [[FORTRAN]] that could better handle generic programming tasks, but although very popular and hugely influential, FORTRAN really only shone at numerical computing. When the team hit difficulties in shaping FORTRAN to their needs they decided to start afresh and implemented an [[ALGOL|ALGOL 60]] variant under the name "New Programming Language" or NPL. | |||
[[Category:Programming Languages]] [[Category:PL/I]] | [[Category:Programming Languages]] [[Category:PL/I]] |
Revision as of 13:24, 9 January 2015
Description

1931-01-22 to 2013-05-21 - One of the principal developers of PL/I at IBM
A procedural programming language introduced in mid 1960's by IBM, originally development was started in 1964 under the auspices of George Radin with the aim of making an updated version of FORTRAN that could better handle generic programming tasks,but in the end it was decided to implement a new language based on ALGOL that would also incorporate features from COBOL and FORTRAN.
The language is sometimes incorrectly known as PL/1, while the language is indeed named Programming Language One, the one was always meant to be expressed as a Roman numerical rather than an Arabian one, as is the tradition with computer languages even today. The Arabic 1 is only used on vintage computer and communications systems like USENET where the lower case only system or display limitation means that there is not Roman I available.
There are some variants of the language that are by now completely forgotten such as the safe variant SPL/I, that was designed at the behest of the USA department of defence in the early 1970's and was intended to be the language used for all non-business type programming done for the DoD but it end they gave up due to the variability of implementations and
PL/M
A language introduced in 1972 by Gary Kidall to allow development of computer programs for 4 and 8 bit microcomputers, full name being Programming Language for Microcomputers. Initially a very minimalistic version of PL/I that lacked even a standard I/O but later versions added features from sundry languages, which makes the latter PL/M releases somewhat unlike PL/I in many respects. Kidall sold the rights to his compiler to Intel who sold a version of the language for about 30 years mainly targeting the embedded market, but in addition he used the language to develop the CP/M operating system and used it as the main development language of Digital Research until the mid 80's. Digital released a PL/I compiler at the end of the decade for CP/M that implemented a properly defined subset of the language and that toolkit was later ported to DOS
A list of OS/2 implementations of PL/I
- IBM PL/I for OS/2 - Commercial - Discontinued
- IBM VisualAge PL/I Enterprise - Commercial - Discontinued
- Iron Spring PL/I - Freeware - Current
- PL1GCC - An incomplete front end for GCC - Open source - Discontinued.
OS/2 Libraries and class libraries
GUI and application generators with PL/I output
Translators that generate PL/I output
Workframes and or IDE's
Editors with PL/I support
A list of DOS implementations of PL/I
- DR PL/I - The old Digital Research, available for DOS and CP/M - Discontinued - Commercial - Now freeware.
DOS Libraries and class libraries
- DR PL/I Libraries - The old Digital Research libraries for the above compiler, disassembled - Discontinued - Commercial - Now freeware.
A list of PL/I implementations that run under WinOS/2
A list of PL/I implementations that run under Java
A list of PL/I implementations in JavaScript
Generic or cross platform source code
- PL/I grammar for Coctail - By CoCoLab
- PL/I to Cobol - Open source software that converts PL/I structures to COBOL structures, but not whole programs so far.
Publications
- Paul Abrahams: The PL/I programming language - 1978 - A book in the public domain.
- Archives of old PL/I Bulletins newsletters - Hosted by Iron Spring Software
Local articles
External articles
- The Choice of PL/I - An article on why they choose to implement Multics in PL/I.
- PL/I FAQ
Tutorials and other learning material
- Software Engineers Handbook/Language Dictionary/PLI - From Wikibooks, more of a command listing than anything else and not complete.
Tips'n'Tricks
- Ask Felgall - Sundry small tips for beginners.
Links
- PL/I resources page - Sundry PL/I related stuff including old newsletter archives.
Mailing lists & forums
- PL/I Developers - On Yahoo groups - very low volume list intended for people that are developing PL/I tools, not for general PL/I programming discussion.
USENET
- comp.lang.pl1 - Fairly low volume - Go to the Google groups version if you or your ISP are in any way newsgroup challenged.
Standards
- ANSI INCITS 74-1987 (R1998) - A PL/I Subset for generic programming (Subset G)
PL/I history
A procedural programming language introduced in mid 1960's by IBM, originally development was started in 1964 under the auspices of George Radin with the aim of making an updated version of FORTRAN that could better handle generic programming tasks, but although very popular and hugely influential, FORTRAN really only shone at numerical computing. When the team hit difficulties in shaping FORTRAN to their needs they decided to start afresh and implemented an ALGOL 60 variant under the name "New Programming Language" or NPL.