A Projected Comparison of Systems with " Abilities

Total Page:16

File Type:pdf, Size:1020Kb

A Projected Comparison of Systems with 4 , 360 GUIDE CABAL CABAL DESCRIPTION TM CCU- 51 " Author Mary Shaw and Janet Fierst Carnegie Institute of Technology Technical Editor Computation Center Release Approval Distribution 360 CABAL mailing list TECHNICAL MEMO Date January 27 , 1967 2 Replaces C Notes No. 2 and No. 3 Supplements 360 REFERENCE GUIDE Addends Page Page 1 FORMAL COMPILER-DESCRIPTIVE SYSTEMS This is a preliminary version of a projected comparison of systems with " abilities. The intent here is to exhibit the formalisms compiler-descriptive to examine the black boxes rather than their contents. T have aimed for de- scription rather than evaluation, for it seems desirable to work with the formalisms for a while before attempting evaluation. Taking last things first, I remark that the Bibliography contains rather more than less than it should -- the aim was for completeness, even at the ex- Appendix shoul pense of including material which is not really too useful. This be fairly complete up to November, 1965 as a compendium of existing or specified compiler compilers. Comments and additions in this area will be particularly appreciated. ', Mary Shaw Porter Hall 18D Ext. 44 Appendix B contains design criteria for compiler compilers, which were developed by the CABAL group through study of the compiler compilers noted here and through personal soul searching. Again, we have tried to put in too much rather than too little. A later note is planned to describe how CABAL meets (or does not meet) these criteria. Janet Fierst, Mary Shaw, Rick Dove " Porter Hall 18N, Ext. 54 REFERENCE, 31 4 CABAL - 3 - 2 360 REFERENCE GUIDE CABAL DESCRIPTION " Algol, n. a star of the second magnitude in the constellation Perseus. It is re- markable for its variability, which is due to periodic eclipse by a fainter stellar companion. The American College Dictionary The process of algorithmic problem-solving with a computer may normally be regarded as independent of the particular machine on which the computation is to be performed. This was acknowledged early in the history of computing by the development of so-called machine-independent or problem-oriented languages. Many different languages and dialects were developed, most of them directed at particular applications or particular machines, and each of them consuming vast amounts of man and machine time. Indeed, a 1962 survey (International Standards Organization, 1963) showed well over 300 mpilers. " Because of the effort involved in implementing a new programming language escribed by Pratt (1965) as the implementation bottleneck), little experi- mentation with languages (e.g., special-purpose languages) was undertaken, and most "new" languages were general-purpose translators differing from their decessors in only a few features. The first efforts toward standardization were made by manufacturers and s' groups; the most notable of these was FORTRAN and all its many dialects. ere have been three main lines of attack on the language multiplicity problem (1) The universal algorithmic language. There has been, in recent years, a trend toward fewer and more common languages in particular fields. ALGOL and FORTRAN in scientific areas and COBOL ( to some extent) in commercial fields have become acceptable common languages. This legislative approach may hold down the proliferation, but it also tends to discourage experimentation and freezes the available language forms. In addition to lacking applicability to all present problems, a standardized language specified at any particular time " 360 REFERENCE GUIDE CABAL - 3 - 3 CABAL DESCRIPTION " cannot provide for the language requirements resulting from advances in computer technology or in the problem areas themselves. (2) The universal machine-oriented language. In 1958 the SHARE organization proposed a universal intermediary language (UNCOL), to be designed such that any problem-oriented language could be transformed to UNCOL, and UNCOL could be transformed to any machine i language. JOVIAL was implemented in this spirit. Just as a "universal algorithmic language leads to inflexibilityat the problem level, so a "universal" machine-oriented language lends itself poorly to trans- lation to a large number of computers with wildly varying instruction and data formats and instruction sets (3) The compiler compiler. An increasing interest has been shown in programming systems which accept as input not only a description of an algorithm in some language, but also a description of that source language and a specification of the target or object language, which might be the machine code for the machine on which the algorithm " is to be executed. The problem which arises in this case is one of description: formalisms must be constructed to describe both the source and target languages. Metcalfe (1964:3) summarized the possible solutions to the proliferation problem: For M machines and N languages, (a) No standards require M X N compilers for completeness; (b) Standard programming language (N = 1 ) requires M compilers, one for each machine; (c) Standard machine language (M = 1 ) requires N compilers, one for each language; (d) Standard programming language (N = 1 ) and standard machine language (M = 1 ) requires 1 compiler; (e) UNCOL requires M+ N partial compilers; (f) Compiler compiler requires 1 compiler plus M + N or M x N language specifications, depending on whether the source and target languages are specified independently. " Of these possibilities, the compiler compiler is the most promising. CABAL - 3 - 4 360 REFERENCE GUIDE CABAL DESCRIPTION Consider now only systems where the target language is either machine code or assembly language. Iliffe (I960) noted that an actual process of " translation from a formula language to sequential code consists of three parts: (1) An initial equivalence transformation of the formula; (2) The translation into sequential code; (3) A final equivalence transformation of the sequential code. These steps may be associated with, respectively, syntax, semantics, and optimization/assembly/relocation. A meta-compiler should, above all, contain a convenient facility for describing both source and target languages; the descriptions should, moreover, be independent. It should be possible for any interested and informed programmer to understand the meaning of the source language being defined; the distinction between the syntax of the source language, the associated semantics, and the actual generation of code should be clean. The meta-language of the compiler compiler should be machine-independ- ent, but in the absence of a good formalism for machine description (and quite possibly in the presence of such description) the meta-language should not prevent either the language designer or the language user from getting at the " machine directly. In the interest of generality, the meta-language should permit the language specifications to describe data structures (and should provide a data-descriptive facility), For the sake of flexibility, the corn- piler should provide control over the form of the output code. For the sake of production users, the compiler compiler should provide for both local and global optimization of the object code. For the convenience of the sophisti- cated user, the meta-language should permit modification of the source language by an individual program. For the sake of reproduction (as well as aesthet- ics) the meta-language should be capable of describing itself. Error detection and recovery procedures should be available in the compiler compiler and also expressible in the source language -- it may be desirable for the compiler compiler to check on the consistency of the source language as well as on the syntactic validity of its description. The most important systems with compiler-descriptive abilities are de- scribed below. A number of other systems are briefly described in Appendix A; a set of design criteria for compiler compilers is given in Appendix B; Ap- pendix C is an extensive bibliography. " 360 REFERENCE GUIDE CABAL - 3 - 5 CABAL DESCRIPTION " Brooker and Morris In the early part of this decade Brooker and Morris described in sev- eral papers (1960A, 19608, 1961, 1962, 1963) a compiler-building system which they have developed for the Ferranti Atlas. (The papers were drawn together in a single discussion by Rosen (1964)). In the discussion above the compila- tion process was segmented into three phases: Brooker and Morris acknowledge the existence of formal descriptions of source languages and algorithms for their syntactic analysis (the first phase), and concentrate on the second, semantic interpretation. Semantic analysis requires generators which take action when a source statement is parsed; the authors propose a system of format routines associated with the particular source statement forms of each language, and provide a language in which the format routines may con- veniently be written. This language is described in the same formal terms as the source language and is converted into tables by the same service rou- tines; it thus provides a set of basic formats which may be used to build up " a more complex system. The format routines may be regarded as macro-generators, and a source language statement as a series of calls on appropriate elementary routines. The system proper contains a basic structure consisting of a number of basic instruction formats interpreted directly as format routines to handle housekeeping functions such as system sequencing and table manipulation. A compiler is built up on this structure by adding format routines, each a list of statements in formats already in the system, in a macro-building fashion. These new formats define classes of phrases, source statement formats, and further intermediate formats; the code to be generated is implicit in these routines. With enough source statement formats added, the system will act as a compiler for the language so described. Syntax: A set of elementary symbols is recognized by the system; the set may be extended to include class identifiers, strings of elementary symbols enclosed in square brackets. A phrase is a string of elementary symbols or class identifiers; a phrase class is defined in a form similar to BNF.
Recommended publications
  • Computer Managed Instruction in Navy Training. INSTITUTION Naval Training Equipment Center, Orlando, Fla
    DOCUMENT RESUME ED 089 780 IR 000 505 AUTHOR Middleton, Morris G.; And Others TITLE Computer Managed Instruction in Navy Training. INSTITUTION Naval Training Equipment Center, Orlando, Fla. Training Analysis and Evaluation Group. REPORT NO NAVTRADQUIPCEN-TAEG-14 PUB DATE Mar 74 NOTE 107p. ERRS PRICE MF-$0.75 HC-$5.40 PLUS POSTAGE DESCRIPTORS *Computer Assisted Instruction; Computers; Cost Effectiveness; Costs; *Educational Programs; *Feasibility Studies; Individualized Instruction; *Management; *Military Training; Pacing; Programing Languages; State of the Art Reviews IDENTIFIERS CMI; *Computer Managed Instruction; Minicomputers; Shipboard Computers; United States Navy ABSTRACT An investigation was made of the feasibility of computer-managed instruction (CMI) for the Navy. Possibilities were examined regarding a centralized computer system for all Navy training, minicomputers for remote classes, and shipboard computers for on-board training. The general state of the art and feasibility of CMI were reviewed, alternative computer languages and terminals studied, and criteria developed for selecting courses for CMI. Literature reviews, site visits, and a questionnaire survey were conducted. Results indicated that despite its high costs, CMI was necessary if a significant number of the more than 4000 Navy training courses were to become individualized and self-paced. It was concluded that the cost of implementing a large-scale centralized computer system for all training courses was prohibitive, but that the use of minicomputers for particular courses and for small, remote classes was feasible. It was also concluded that the use of shipboard computers for training was both desirable and technically feasible, but that this would require the acquisition of additional minicomputers for educational purposes since the existing shipboard equipment was both expensive to convert and already heavily used for other purposes.
    [Show full text]
  • Typology of Programming Languages E Early Languages E
    Typology of programming languages e Early Languages E Typology of programming languages Early Languages 1 / 71 The Tower of Babel Typology of programming languages Early Languages 2 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 3 / 71 IBM Mathematical Formula Translator system Fortran I, 1954-1956, IBM 704, a team led by John Backus. Typology of programming languages Early Languages 4 / 71 IBM 704 (1956) Typology of programming languages Early Languages 5 / 71 IBM Mathematical Formula Translator system The main goal is user satisfaction (economical interest) rather than academic. Compiled language. a single data structure : arrays comments arithmetics expressions DO loops subprograms and functions I/O machine independence Typology of programming languages Early Languages 6 / 71 FORTRAN’s success Because: programmers productivity easy to learn by IBM the audience was mainly scientific simplifications (e.g., I/O) Typology of programming languages Early Languages 7 / 71 FORTRAN I C FIND THE MEAN OF N NUMBERS AND THE NUMBER OF C VALUES GREATER THAN IT DIMENSION A(99) REAL MEAN READ(1,5)N 5 FORMAT(I2) READ(1,10)(A(I),I=1,N) 10 FORMAT(6F10.5) SUM=0.0 DO 15 I=1,N 15 SUM=SUM+A(I) MEAN=SUM/FLOAT(N) NUMBER=0 DO 20 I=1,N IF (A(I) .LE. MEAN) GOTO 20 NUMBER=NUMBER+1 20 CONTINUE WRITE (2,25) MEAN,NUMBER 25 FORMAT(11H MEAN = ,F10.5,5X,21H NUMBER SUP = ,I5) STOP TypologyEND of programming languages Early Languages 8 / 71 Fortran on Cards Typology of programming languages Early Languages 9 / 71 Fortrans Typology of programming languages Early Languages 10 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 11 / 71 ALGOL, Demon Star, Beta Persei, 26 Persei Typology of programming languages Early Languages 12 / 71 ALGOL 58 Originally, IAL, International Algebraic Language.
    [Show full text]
  • Shell Scripting with Bash
    Introduction to Shell Scripting with Bash Charles Jahnke Research Computing Services Information Services & Technology Topics for Today ● Introductions ● Basic Terminology ● How to get help ● Command-line vs. Scripting ● Variables ● Handling Arguments ● Standard I/O, Pipes, and Redirection ● Control Structures (loops and If statements) ● SCC Job Submission Example Research Computing Services Research Computing Services (RCS) A group within Information Services & Technology at Boston University provides computing, storage, and visualization resources and services to support research that has specialized or highly intensive computation, storage, bandwidth, or graphics requirements. Three Primary Services: ● Research Computation ● Research Visualization ● Research Consulting and Training Breadth of Research on the Shared Computing Cluster (SCC) Me ● Research Facilitator and Administrator ● Background in biomedical engineering, bioinformatics, and IT systems ● Offices on both CRC and BUMC ○ Most of our staff on the Charles River Campus, some dedicated to BUMC ● Contact: [email protected] You ● Who has experience programming? ● Using Linux? ● Using the Shared Computing Cluster (SCC)? Basic Terminology The Command-line The line on which commands are typed and passed to the shell. Username Hostname Current Directory [username@scc1 ~]$ Prompt Command Line (input) The Shell ● The interface between the user and the operating system ● Program that interprets and executes input ● Provides: ○ Built-in commands ○ Programming control structures ○ Environment
    [Show full text]
  • The Travelers IBM 1401 Exhibit Thematic Presentation, June 1984
    THE TRAVELERS IBM 1401 EXHIBIT At The Computer Museum, Bay 3, Floor 5 THEMATIC PRESENTATION Overall The Travelers IBM 1401 Exhibit will illustrate general aspects of business computing in the mid-sixties. Four primary themes will be presented: the use of computers as information processors by businesses, the characteristics of this kind of computer operation, the rise in higher-level languages, and the replacement of punched cards by magnetic memory as the predominant secondary storage medium. The Travelers 1401 will exemplify these themes. In instances where reality does not quite serve the presentation artistic license will be exercized. Computers as Business Tools The use of the 1401 by The Travelers for policy processing and management report compilation will illustrate the general character of problems to which businesses a~plied computers. Charateristics of Computer Operation Batch-processing characterized the operation of computers in the mid-sixties. This reinforced the division between the machine and the programmers. Since only operators were allowed to run programs on the computer, the process of de-bugging a program was long and arduous. This method of operation will be contrasted with the contemporary operation of computers. The 1401 exhibit, by the relative position of the Programmer's Office and the Computer Room, and the contents thereof, will advance this theme. High-Level Languages The predominance of COBOL as the programming language for business illustrates the general move towards using higher-level languages which occured throughout the 1960's. The Travelers 1401 will be presented as being programmed in COBOL. The Fall of the Punched Card and the Ris~ of Magnetic Memory Inflexibility, serial storage, and size will be presented as three of the major problems of punched cards for data storage.
    [Show full text]
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • IBM 1401 Simulator Usage 31-Mar-2015
    IBM 1401 Simulator Usage 31-Mar-2015 COPYRIGHT NOTICE The following copyright notice applies to the SIMH source, binary, and documentation: Original code published in 1993-2015, written by Robert M Supnik Copyright (c) 1993-2015, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of Robert M Supnik shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. 1 Simulator Files ............................................................................................................. 3 2 IBM 1401 Features ...................................................................................................... 3 2.1 CPU ...................................................................................................................... 4 2.2 1402 Card Reader/Punch (CDR, CDP, STKR) ....................................................
    [Show full text]
  • Powerview Command Reference
    PowerView Command Reference TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... PowerView User Interface ............................................................................................................ PowerView Command Reference .............................................................................................1 History ...................................................................................................................................... 12 ABORT ...................................................................................................................................... 13 ABORT Abort driver program 13 AREA ........................................................................................................................................ 14 AREA Message windows 14 AREA.CLEAR Clear area 15 AREA.CLOSE Close output file 15 AREA.Create Create or modify message area 16 AREA.Delete Delete message area 17 AREA.List Display a detailed list off all message areas 18 AREA.OPEN Open output file 20 AREA.PIPE Redirect area to stdout 21 AREA.RESet Reset areas 21 AREA.SAVE Save AREA window contents to file 21 AREA.Select Select area 22 AREA.STDERR Redirect area to stderr 23 AREA.STDOUT Redirect area to stdout 23 AREA.view Display message area in AREA window 24 AutoSTOre ..............................................................................................................................
    [Show full text]
  • S-Algol Reference Manual Ron Morrison
    S-algol Reference Manual Ron Morrison University of St. Andrews, North Haugh, Fife, Scotland. KY16 9SS CS/79/1 1 Contents Chapter 1. Preface 2. Syntax Specification 3. Types and Type Rules 3.1 Universe of Discourse 3.2 Type Rules 4. Literals 4.1 Integer Literals 4.2 Real Literals 4.3 Boolean Literals 4.4 String Literals 4.5 Pixel Literals 4.6 File Literal 4.7 pntr Literal 5. Primitive Expressions and Operators 5.1 Boolean Expressions 5.2 Comparison Operators 5.3 Arithmetic Expressions 5.4 Arithmetic Precedence Rules 5.5 String Expressions 5.6 Picture Expressions 5.7 Pixel Expressions 5.8 Precedence Table 5.9 Other Expressions 6. Declarations 6.1 Identifiers 6.2 Variables, Constants and Declaration of Data Objects 6.3 Sequences 6.4 Brackets 6.5 Scope Rules 7. Clauses 7.1 Assignment Clause 7.2 if Clause 7.3 case Clause 7.4 repeat ... while ... do ... Clause 7.5 for Clause 7.6 abort Clause 8. Procedures 8.1 Declarations and Calls 8.2 Forward Declarations 2 9. Aggregates 9.1 Vectors 9.1.1 Creation of Vectors 9.1.2 upb and lwb 9.1.3 Indexing 9.1.4 Equality and Equivalence 9.2 Structures 9.2.1 Creation of Structures 9.2.2 Equality and Equivalence 9.2.3 Indexing 9.3 Images 9.3.1 Creation of Images 9.3.2 Indexing 9.3.3 Depth Selection 9.3.4 Equality and Equivalence 10. Input and Output 10.1 Input 10.2 Output 10.3 i.w, s.w and r.w 10.4 End of File 11.
    [Show full text]
  • An Empirical Comparison of Widely Adopted Hash Functions in Digital Forensics: Does the Programming Language and Operating System Make a Difference?
    2015 Annual ADFSL Conference on Digital Forensics, Security and Law Proceedings May 19th, 11:45 AM An Empirical Comparison of Widely Adopted Hash Functions in Digital Forensics: Does the Programming Language and Operating System Make a Difference? Satyendra Gurjar Cyber Forensics Research and Education Group (UNHcFREG), Tagliatela College of Engineering, ECECS Department, University of New Haven, [email protected] Ibrahim Baggili Cyber Forensics Research and Education Group (UNHcFREG), Tagliatela College of Engineering, ECECS Department, University of New Haven Frank Breitinger CyberFollow F thisorensics and additional Research worksand Education at: https:/ Gr/commons.eroup (UNHcFREG),au.edu/adfsl Tagliatela College of Engineering, ECECS Depar Partment,t of the Univ Aviationersity ofSaf Newety and Hav Securityen Commons, Computer Law Commons, Defense and Security AliceStudies Fischer Commons , Forensic Science and Technology Commons, Information Security Commons, CyberNational For Securityensics Resear Law Commonsch and Education, OS and GrNetworksoup (UNHcFREG), Commons T, Otheragliatela Computer College Sciences of Engineering, Commons ECECS, and theDepar Socialtment, Contr Univol,ersity Law , ofCrime, New andHav enDe,viance AFischer@newha Commons ven.edu Scholarly Commons Citation Gurjar, Satyendra; Baggili, Ibrahim; Breitinger, Frank; and Fischer, Alice, "An Empirical Comparison of Widely Adopted Hash Functions in Digital Forensics: Does the Programming Language and Operating System Make a Difference?" (2015). Annual ADFSL Conference on Digital Forensics, Security and Law. 6. https://commons.erau.edu/adfsl/2015/tuesday/6 This Peer Reviewed Paper is brought to you for free and open access by the Conferences at Scholarly Commons. It has been accepted for inclusion in Annual ADFSL Conference on Digital Forensics, Security and Law by an (c)ADFSL authorized administrator of Scholarly Commons.
    [Show full text]
  • Lecture 17 the Shell and Shell Scripting Simple Shell Scripts
    Lecture 17 The Shell and Shell Scripting In this lecture • The UNIX shell • Simple Shell Scripts • Shell variables • File System commands, IO commands, IO redirection • Command Line Arguments • Evaluating Expr in Shell • Predicates, operators for testing strings, ints and files • If-then-else in Shell • The for, while and do loop in Shell • Writing Shell scripts • Exercises In this course, we need to be familiar with the "UNIX shell". We use it, whether bash, csh, tcsh, zsh, or other variants, to start and stop processes, control the terminal, and to otherwise interact with the system. Many of you have heard of, or made use of "shell scripting", that is the process of providing instructions to shell in a simple, interpreted programming language . To see what shell we are working on, first SSH into unix.andrew.cmu.edu and type echo $SHELL ---- to see the working shell in SSH We will be writing our shell scripts for this particular shell (csh). The shell scripting language does not fit the classic definition of a useful language. It does not have many of the features such as portability, facilities for resource intensive tasks such as recursion or hashing or sorting. It does not have data structures like arrays and hash tables. It does not have facilities for direct access to hardware or good security features. But in many other ways the language of the shell is very powerful -- it has functions, conditionals, loops. It does not support strong data typing -- it is completely untyped (everything is a string). But, the real power of shell program doesn't come from the language itself, but from the diverse library that it can call upon -- any program.
    [Show full text]
  • BASIC Session
    BASIC Session Chairman: Thomas Cheatham Speaker: Thomas E. Kurtz PAPER: BASIC Thomas E. Kurtz Darthmouth College 1. Background 1.1. Dartmouth College Dartmouth College is a small university dating from 1769, and dedicated "for the educa- tion and instruction of Youth of the Indian Tribes in this Land in reading, writing and all parts of learning . and also of English Youth and any others" (Wheelock, 1769). The undergraduate student body (now nearly 4000) outnumbers all graduate students by more than 5 to 1, and majors predominantly in the Social Sciences and the Humanities (over 75%). In 1940 a milestone event, not well remembered until recently (Loveday, 1977), took place at Dartmouth. Dr. George Stibitz of the Bell Telephone Laboratories demonstrated publicly for the first time, at the annual meeting of the American Mathematical Society, the remote use of a computer over a communications line. The computer was a relay cal- culator designed to carry out arithmetic on complex numbers. The terminal was a Model 26 Teletype. Another milestone event occurred in the summer of 1956 when John McCarthy orga- nized at Dartmouth a summer research project on "artificial intelligence" (the first known use of this phrase). The computer scientists attending decided a new language was needed; thus was born LISP. [See the paper by McCarthy, pp. 173-185 in this volume. Ed.] 1.2. Dartmouth Comes to Computing After several brief encounters, Dartmouth's liaison with computing became permanent and continuing in 1956 through the New England Regional Computer Center at MIT, HISTORY OF PROGRAMMING LANGUAGES 515 Copyright © 1981 by the Association for Computing Machinery, Inc.
    [Show full text]
  • Simulation Higher Order Language Requirements Study
    DOCUMENT RESDEE ED .162 661 IB 066 666 AUTHOR Goodenough, John B.; Eraun, Christine I. TITLE Simulation Higher Order ,Language Reguiresents Study. INSTITUTION' SofTech, Inc., Waltham, Mass. SPONS'AGENCY Air Force Human Resources Lab., Broca_APE,' Texas. REPORT NO AFHPI-TE-78-34 PUB DATE ,Aug 78 NOTE 229.; Not available in hard' copy due to iarginal legibility of parts of document AVAILABLE FROM'Superintendent of Docusents, U.S. Government Printing' Office, Washington, L.C. 20402 (1978-771-122/53) EDRS PRICE MF-$0.83 Plus Postage. EC Not Availatle from EDRS. DESCRIPTORS *Comparative Analysis; Computer Assisted Instruction; *Computer Programs; Evaluation Criteria; Military Training; *Needs Assessment; *Prograaing Iangbaqes; *Simulation IDENTIFIERS FORTRAN; IRCNMAN; JOVIAL; PASCAL ABSTRACT The definitions provided for high order language (HOL) requirements for programming flight/ training simulators are based on the analysis of programs written fcr.a variety of simulators. Examples drawn from these programs are used to justify' the need for certain HOL capabilities. A description of the general 'K..structure and organization of the TRONEAN requirements for the DOI) Common Language effort IS followed-tyditailed specifications of simulator HOL requirements., pvi, FORTRAN, JCVIAI J3E, JCVIAL.J73I, and PASCAL are analyzed to see how well" each language satisfies the simulator HOL requirements. Results indicate that PL/I and JOVIAL J3D are the best suited for simulator programming, chile TOBIRANis clearly the least suitable language. All the larguages failed to satisfy some simulator requirements and improvement modificationsare specified Analysis of recommended modifications shows:that PL/I is the m st easily modified language. (CMV) *********************************************************************** Reproductions suppliid by EDRS are the best that can be made from the original dccumett.
    [Show full text]