RUSH(ID:273/rus001)

Interactive Dialect of PL/I 


Remote Use of Shared Hardware. Allen-Babcock Corp, 1965.
Interactive dialect of PL/I


Related languages
PL/I => RUSH   Evolution of
RUSH => PL/ACME   Influence

References:
  • RUSH Terminal User's Manual, Allen-Babcock Computing Inc. (Nov., 1966, plus updating material). view details
  • "RUSH: An Interactive Dialect of PL/I" view details
          in ACM-sponsored PL/I Forum, Aug., 1967, Washington, D.C. view details
  • Clapp, Lewis "Time-Sharing System Scorecard" Computer Research Corporation 1967 view details
          in ACM-sponsored PL/I Forum, Aug., 1967, Washington, D.C. view details
  • Sammet, Jean E., "Roster of Programming Languages 1967" view details
          in Computers & Automation 16(6) June 1967 view details
  • Allen Babcock Computing Inc., RUSH Reference Manual, November 1968, ABC, Los Angeles. view details
          in Computers & Automation 16(6) June 1967 view details
  • Des Jardins, Paul R. "RUSH - An Interactive Dialect of PL/I" view details Extract: Introduction
    Introduction
    RUSH is a PL/I dialect developed by Allen-Babcock Computing for use in a large interactive timesharing system. The system has been implemented on an IBM 360/50 and is serving some 60 users throughout the United States. RUSH is a true subset of PL/I with the exception of two language elements and several implementation oriented conventions. The rationale used in selecting the RUSH subset and reasons for deviating from PL/I are the principal topics of this paper.
    RUSH has two components a program construction (collect mode) language, and a command (direct mode) language. The presence of a line number as the first syntactical element classifies a statement as collect mode. Collected statements are kept internally in statement number order, and they comprise the program being developed. Direct mode statements are not prefixed by a line number since they are executed immediately and then discarded.
    The collect mode language is a faithful subset of PL/I since it is in the area of program construction that language compatibility has some meaning. Many of the direct statements have no PL/I counterpart. Because of this, and since direct statements are not retained, PL/I compatibility is not an issue. An effort has been made, however, to maintain a "PL/I-like" flavor in all elements of the language.
    For the past year, RUSH has been used for a wide variety of business and scientific applications. Although it lacks many elements of full PL/I, it is proving itself daily as a flexible, powerful language for problem definition and solution.
    Finally, the STRING option is provided in conjunction with GET EDIT and PUT IMAGE statements so that core-to-core data conversions may be performed.
    Future effort in input/output will be directed toward completing the present input/output processors, and toward extending the subset to include the FILE option. Consideration is being given to data-directed input and output because of its simplicity from a users point of view.
    Extract: Multi-Task Operation
    Multi-Task Operation
    There are no plans to include task-oriented facilities in the RUSH subset. Although multi-processing is the essence of RUSH itself, resources are shared across many users rather than along a single user's job stream. While task-oriented language elements might provide additional capability in some RUSH applications, they are relatively unimportant compared to other needed extensions. Extract: Compile-Time Facilities
    Compile-Time Facilities
    None of the PL/I Compile-Time facilities are included in the RUSH subset, and there are not plans to include them in the near future. However, a new RUSH capability is being field-tested which provides the equivalent of the Compile-Time facility, along with a great deal more generality. The added RUSH facilities are based upon specification of any dataset or character string as input to the RUSH system. Given this ability, one can write RUSH programs which produce other RUSH programs (generators), RUSH programs which modify themselves, or programs which include prewritten sequences of statements (the % INCLUDE capability of PL/I).
    Extract: List Processing
    List Processing
    The RUSH subset does not contain any list-oriented elements of PL/I. Their absence is almost poetic, since the RUSH system is heavily oriented toward lists. As a matter of fact, every RUSH program is represented internally as a series of chained lists, and special hardware modifications were made to expedite list processing.

          in PL/I Bulletin, Issue 6, March 1968 view details
  • "Introduction to RUSH", Allen-Babcock Computing 1969 view details
          in PL/I Bulletin, Issue 6, March 1968 view details
  • R. Bueschel, A. Stephenson, D. Whitney "Commercial Time - Sharing Services and Utilities" American Management Association, New York, 1969 view details
          in PL/I Bulletin, Issue 6, March 1968 view details
  • Rosin R F "PL/1 Implementation survey" PL/I Bulletin 7 (in ACM SIGPLAN Notices Feb 1969) view details Extract: Introduction
    This report summarizes all data collected in a survey of implementations of the PL/I language. An attempt was made to contact all people or groups known or rumored to be undertaking such a project. A fairly lengthy questionnaire was mailed out when a prospect was identified, beginning in August, 1967. The latest response was received in August, 1968.
    As is the case in most such efforts, it is likely that some projects were overlooked. In other instances, our attempts to contact people were met with no response at all, neither confirming nor denying the existence of the implementation involved. There were also a few cases in which one or more implementations did indeed exist; but their nature was proprietary and, therefore, the questionnaire was not completed. An in two cases, the individual contacted replied by stating that the supposed implementation had never existed. Only in the latter cases is the attempt at contact not included in the overall summary table.
    The data are summarized in four tables. The first contains the basic identification of all attempted contacts and the resulting response. The second table summarizes all questionnaires returned with respect to implementation data. The third and fourth tables relate responses to questions about the PL/I language and the dialect implemented. Responses from three questionnaires are excluded from these tables since, in the author's opinion, the dialects are more closely related to languages other than PL/I, itself. The third table summarizes restrictions found in the various dialects, while the fourth lists the extensions found in one or more dialects.
    This report suffers from the fact that the questions were somewhat general (e. g. , "Which features have you implemented in a manner at variance with C28-6571 -4? "), and the responses, therefore, reflect the interpretation imposed by the responder. An attempt has been made to normalize these aspects of the data, but it is clear that the result is far from ideal.
          in PL/I Bulletin, Issue 6, March 1968 view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. p.309. view details Extract: RUSH
    A version of the system called RUSH (Remote Use of Shared Hardware) was the basis of a commercial time-sharing service offered by the AlienBabcock Corporation, while the system in use by IBM was called CPS. Starting from the same base, the two systems added different facilities. CPS was released as a Type III system in September 1967. (A Type III program is one issued by the authors or developers as individuals and is not part of IBM's regularly delivered software.) A ?one-page" summary of its commands is shown in Figure IV-16. (It requires only one physical page in the 8½" x 11" source manual)
    The character set consists of the 26 upper- and lower-case letters, the 10 digits, the 3 special characters, $, @, and # (which together with the letters and digits are called alphameric), and the following 21 symbols:

    + - * / ( ) = > < . , ? : ; % {} & | _ ? blank


          in PL/I Bulletin, Issue 6, March 1968 view details
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 204 view details Abstract: 321 Programmiersprachen mit Angabe der Computer-Hersteller, auf deren Anlagen die entsprechenden Sprachen verwendet werden kennen. Register der 74 Computer-Firmen; Reihenfolge der Programmiersprachen nach der Anzahl der Herstellerfirmen, auf deren Anlagen die Sprache implementiert ist; Reihenfolge der Herstellerfirmen nach der Anzahl der verwendeten Programmiersprachen.

    [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know.  Register of the 74 computer companies;  Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented;  Sequence of the manufacturing firms after the number of used programming languages.]
          in PL/I Bulletin, Issue 6, March 1968 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 242 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 509 view details Abstract: PREFACE  AND  INTRODUCTION
    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 Computing Reviews 15(04) April 1974 view details
  • Kupka, I. and Wilsing, N. "Conversational Languages" John Wiley, 1980 view details
          in ACM Computing Reviews 15(04) April 1974 view details