{"title":"Subset/G PL/I and the PL/I Standard","authors":"P. Abrahams","doi":"10.1145/800173.809714","DOIUrl":null,"url":null,"abstract":"Subset/G PL/I (G for General Purpose) is a subset of full Standard PL/I. Both Subset/G PL/I and Standard PL/I are defined by standards issued by the American National Standards Institute. Subset/G evolved in the late 1970's as a result of a growing realization that full PL/I was a remarkably effective (if much maligned) language but at the same time a difficult language to implement and to teach. Subset/G was designed so as to preserve the most useful properties of PL/I while deleting features that were either little used, uneconomic to implement, or inappropriate to what we now know about good programming practice.\n Full Standard PL/I is a descendant of the F-level PL/I language originally developed by IBM in the early 1960's. One of the design objectives of the original language was that it should be applicable to scientific programming, commercial programming, and systems programming. Part of the original rationale for this objective was that PL/I was intended to replace Fortran, Cobol, and assembly language. But there was also another reason: the growing number of applications that spanned more than one category. Subset/G also has this design objective, although some other design objectives of early PL/I were dropped, notably the principle that any construct that could reasonably be given a meaning should be acceptable. That rationale remains a major reason why Subset/G is a significant and useful language despite the many other languages that have emerged since PL/I was first designed.","PeriodicalId":306306,"journal":{"name":"ACM '83","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM '83","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800173.809714","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Subset/G PL/I (G for General Purpose) is a subset of full Standard PL/I. Both Subset/G PL/I and Standard PL/I are defined by standards issued by the American National Standards Institute. Subset/G evolved in the late 1970's as a result of a growing realization that full PL/I was a remarkably effective (if much maligned) language but at the same time a difficult language to implement and to teach. Subset/G was designed so as to preserve the most useful properties of PL/I while deleting features that were either little used, uneconomic to implement, or inappropriate to what we now know about good programming practice.
Full Standard PL/I is a descendant of the F-level PL/I language originally developed by IBM in the early 1960's. One of the design objectives of the original language was that it should be applicable to scientific programming, commercial programming, and systems programming. Part of the original rationale for this objective was that PL/I was intended to replace Fortran, Cobol, and assembly language. But there was also another reason: the growing number of applications that spanned more than one category. Subset/G also has this design objective, although some other design objectives of early PL/I were dropped, notably the principle that any construct that could reasonably be given a meaning should be acceptable. That rationale remains a major reason why Subset/G is a significant and useful language despite the many other languages that have emerged since PL/I was first designed.
子集/G PL/I (G for General Purpose)是完整标准PL/I的子集。子集/G PL/I和标准PL/I都是由美国国家标准协会发布的标准定义的。子集/G是在20世纪70年代后期发展起来的,因为越来越多的人意识到完整的PL/I是一种非常有效的语言(如果有很多恶意),但同时也是一种难以实现和教授的语言。子集/G的设计是为了保留PL/I最有用的属性,同时删除那些很少使用的、不经济的实现或不适合我们现在所知道的良好编程实践的特性。全标准PL/I是f级PL/I语言的后代,最初由IBM在20世纪60年代早期开发。原始语言的设计目标之一是它应该适用于科学编程、商业编程和系统编程。这个目标最初的部分原因是PL/I打算取代Fortran、Cobol和汇编语言。但还有另一个原因:越来越多的应用程序跨越了一个以上的类别。子集/G也有这个设计目标,尽管早期PL/I的一些其他设计目标被删除了,特别是任何可以合理地赋予意义的结构应该是可接受的原则。尽管PL/I最初被设计出来之后出现了许多其他语言,但这个基本原理仍然是为什么子集/G是一种重要而有用的语言的主要原因。