Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
PL/I
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Usage== PL/I implementations were developed for mainframes from the late 1960s, mini computers in the 1970s, and personal computers<ref name="norton-chronicles"/> in the 1980s and 1990s. Although its main use has been on [[Mainframe computer|mainframes]], there are PL/I versions for [[DOS]], [[Microsoft Windows]], [[OS/2]], [[AIX operating system|AIX]], [[OpenVMS]], and [[Unix]]. It has been widely used in business data processing<ref>{{cite magazine|url=http://www.highbeam.com/doc/1G1-17813799.html|title=Open PL/I: Liant addresses PL/I legacy applications|last1=Pearkins|first1=Jon E.|date=December 1, 1995|magazine=Enterprise Systems Journal|archive-url=https://web.archive.org/web/20121103013230/http://www.highbeam.com/doc/1G1-17813799.html|archive-date=November 3, 2012|quote=Open PL/I estimated that in 1995 20% of mainframe legacy applications were in PL/I, with 60% in COBOL: there were 300,000 PL/I programmers worldwide|accessdate=February 3, 2010|url-status=dead}}</ref> and for system use for writing operating systems on certain platforms. Very complex and powerful systems have been built with PL/I: * The [[SAS (software)|SAS System]] was initially written in PL/I; the SAS data step is still modeled on PL/I syntax. * The pioneering online airline reservation system [[Sabre (computer system)|Sabre]] was originally written for the IBM 7090 in assembler. The S/360 version was largely written using [[SabreTalk]], a purpose-built subset PL/I compiler for a dedicated control program. * The [[Multics]] operating system was largely written in PL/I. * PL/I was used to write an executable formal definition<ref>{{cite journal |last1=Schultz |first1=G. |last2=Rose |first2=D. |last3=West |first3=C. |last4=Gray |first4=J. |date=April 1980 |doi=10.1109/TCOM.1980.1094695 |title=Executable description and validation of SNA |pages=661β677 |volume=28 |journal=[[IEEE Transactions on Communications]] |issue=4}}</ref> to interpret IBM's [[System Network Architecture]]. * Some components of the [[OpenVMS]] operating system were originally written in PL/I, but were later rewritten in C during the port of VMS to the [[IA-64]] architecture.<ref>{{cite journal |last1=Grant |first1=Clair |date=June 2005 |url=http://www.decus.de/events/alphamigration/vortraege/porting_openvms_to_integrity.pdf |title=Porting OpenVMS to HP Integrity Servers |journal=OpenVMS Technical Journal |volume=6}}</ref> PL/I did not fulfill its supporters' hopes that it would displace Fortran and COBOL and become the major player on mainframes. It remained a minority but significant player. There cannot be a definitive explanation for this, but some trends in the 1970s and 1980s militated against its success by progressively reducing the territory on which PL/I enjoyed a competitive advantage. First, the nature of the mainframe software environment changed. Application subsystems for [[database]] and [[transaction processing]] ([[CICS]] and [[Information Management System|IMS]] and [[Oracle Database|Oracle]] on System 370) and application generators became the focus of mainframe users' application development. Significant parts of the language became irrelevant because of the need to use the corresponding native features of the subsystems (such as tasking and much of input/output). Fortran was not used in these application areas, confining PL/I to COBOL's territory; most users stayed with COBOL. But as the PC became the dominant environment for program development, Fortran, COBOL and PL/I all became minority languages overtaken by [[C++]], [[Java (programming language)|Java]] and the like. Second, PL/I was overtaken in the system programming field. The IBM system programming community was not ready to use PL/I; instead, IBM developed and adopted a proprietary dialect of PL/I for system programming. β [[PL/S]].<ref>In his slides on ''IBM Operating System/360'' [[Fred Brooks]] says OS/360 should have been written in PL/I not PL/S and Assembler. The article is a great summary of the OS/360 program. [http://extras.springer.com/2002/978-3-642-59413-7/2/rom/pdf/Brooks_new.pdf "The /360 Architecture and Its Operating System"] {{Webarchive|url=https://web.archive.org/web/20200728071740/http://extras.springer.com/2002/978-3-642-59413-7/2/rom/pdf/Brooks_new.pdf |date=2020-07-28}}, 2001.</ref> With the success of PL/S inside IBM, and of C outside IBM, the unique PL/I strengths for system programming became less valuable. Third, the development environments grew capabilities for interactive software development that, again, made the unique PL/I interactive and debugging strengths less valuable. Fourth, features such as structured programming, character string operations, and object orientation were added to COBOL and Fortran, which further reduced PL/I's relative advantages. On mainframes there were substantial business issues at stake too. IBM's hardware competitors had little to gain and much to lose from success of PL/I. Compiler development was expensive, and the IBM compiler groups had an in-built competitive advantage. Many IBM users wished to avoid being locked into proprietary solutions. With no early support for PL/I by other vendors it was best to avoid PL/I.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
PL/I
(section)
Add topic