PL/C(ID:650/plc001)Programming Language/CornellA large subset of PL/I from Cornell University, aimed at novice programmers. Implementated on IBM 370. Places Related languages
References: in [AFIPS] Proceedings of the 1971 Spring Joint Computer Conference SJCC 38 view details in Computers & Automation 21(6B), 30 Aug 1972 view details in [ACM] CACM 16(03) March 1973 view details in ACM SIGPLAN Notices 8(5) May 1973 view details The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one. There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages. The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM. Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) . It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers. The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA). As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found. It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel. We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work. Graz / Austria, May, 1973 in ACM SIGPLAN Notices 8(5) May 1973 view details in ACM SIGPLAN Notices 8(5) May 1973 view details in ACM SIGPLAN Notices 8(5) May 1973 view details language. It provides high-speed compilation, reasonably efficient execution, extraordinary diagnostic assistance and upward compatibility with the IBM F-level compiler. The PL/C compiler, but not this user's Guide, is copyright c1975 by Cornell University. PL/C does not support the full PL/I language. The major omissions in Release 7.6 are: - list processing - multi-tasking - compile-time facilities (except for INCLUDE and a non-PL/I-type macro processor) - REGIONAL auxiliary files There are other minor omissions described in Sections D - H of this Guide. Some features have been added to PL/C that are not part of PL/I. These are intended, for the most part, to provide additional diagnostic facilities. They include special options on the PUT statement, the FLOW condition, statements to control FLOW and CHECK printing, and pseudo-comments that can optionally be converted to source text. These pseudo-comments can be used to shelter the incompatible PL/C diagostic features so that a program can still be run under the PL/I(F) compiler. This user's Guide is not intended to teach a beginner to write programs in PL/C. It assumes that the reader already knows PL/I, or is in the process of learning the language from another source. (See Section M for a list of relevant textbooks.) This Guide describes how PL/C differs from PL/I(F), and gives information necessary to use PL/C and interpret output provided by PL/C. Except as noted to the contrary, material applies to both the OS and DOS versions of PL/C. in ACM SIGPLAN Notices 8(5) May 1973 view details in SIGPLAN Notices 11(01) Jan 1976 view details in SIGPLAN Notices 11(01) Jan 1976 view details the full power of the original language PL/I, from which PL/C is taken. On the other hand, PL/C attempts to give a more understandable set of error messages than the full PL/I language; and will even attempt to correct certain minor errors. Options are also available so that the student can obtain listings of internal variables and program parameters, when program termination occurs. in SIGPLAN Notices 11(01) Jan 1976 view details in SIGPLAN Notices 11(01) Jan 1976 view details Instructional Computing More about the Use of CORC Although Lesser provides some interesting information about the use of the Burroughs 220 and the Control Data 1604 computer for course work by students, additional information may provide a better sense of the practices at the time and the load volume generated. When the CORC process started, it could be considered rather archaic?students did not prepare their own input but wrote their programs on specially prepared coding sheets that facilitated both the writing and the transfer to punch cards by professional keypunch operators. Figure 2 gives a sense of the situation. The original caption for this pictorial in a Cornell Computing Center publication circa 1963 was: With the CORC simplified computing language, all Cornell students can make use of the Computing Center. After a student has completed his program descriptions, it is punched on cards by the center staff; run though the computer; then returned to the center laboratory for correction and resubmission by the students when necessary. [...] At the time it was the practice to record initial runs, that is the first run after the program deck was punched by keypunch staff, and the reruns, which were subsequent runs after corrections were made by students and until the program produced the expected results. One measure of the growth is that initial runs increased by 2.5 times from 1962?63 to 1965?66. Reruns showed a four-fold increase over this same period. These increases give witness to the increasing use of the computer in the instructional programs at the university. Extract: CORC, CUPL, PL/C Introduction of PL/C One of the primary languages for introductory computing instruction changed from CUPL to PL/C. Conway and his various associates, who had developed CORC in the early 1960s then CUPL in the late 1960s, now followed with PL/C as the language of choice for this purpose. (CORC was used from 1962 to 1966 on both the Burroughs 220 and the Control Data 1604, while CUPL was used from 1965 to 1969 on both the Control Data 1604 and IBM 360/65.) Adopting PL/C was in keeping with the computing industry trend to adopt the PL/I language for more applications. IBM commissioned Conway13 and his associates to develop a student version of PL/I, which was named PL/C, and provided the initial support that was also supplemented by support from Seimens. The development of PL/C was built on the previous experience noted above as well as new technologies, so when completed it was the first high-performance compiler with advanced error-correcting techniques for a subset of the PL/I language. Once under way, the project was partially funded by income from sales. In 1970–71 more than 100 copies of PL/C had been distributed, and 60 sales had been made. Later in the decade, at its peak, PL/C was used at 250 universities around the world, according to Conway. Members of the team that produced the first PL/C release were Conway, Howard Morgan, R. Wagner, and five graduate students in Computer Science, the principal one being Tom Wilcox. in SIGPLAN Notices 11(01) Jan 1976 view details |