AMTRAN(ID:244/amt001)

Automatic Mathematical Translator 


for Automatic Mathematical TRANslation.

R. N. Seitz; NASA Huntsville, Alabama 1965
Juris Reinfelds, L. A. Flenker, R. N. Seitz, Wood, R and P. L. Clem; University of Georgia 1966
P. L. Clem, Jr., Northrop Space Laboratories.

For IBM 1620, based on Culler-Fried System, required a special terminal.

Earlier version modelled much more closely after the OLC and had a pushbutton keyboard, later versions had  a more conventional keyboard system

Kratky 1970
"It should be emphasized that the AMTRAN-system itself is the product of a long development. It was started under Dr. R. N. Seitz (Huntsville, Alabama) and has been continued by Dr. Juris Reinfelds in the AMTRAN research group here at the University of Georgia. This version is a product of the work of Dr. J. Reinfelds, Dr. N. Eskelson, Dr. H. Kopetz and Gerhard Kratky."



People: Hardware:
Related languages
JOSS => AMTRAN   Influence
STL Online Computer System => AMTRAN   Evolution of
AMTRAN => 1130 Amtran   Implementation of
AMTRAN => AMTRAN 70   Evolution of
AMTRAN => SIGMA   Incorporated some features of

Samples:
References:
  • Seitz, R N "AMTRAN: Do-it-yourself computing" p 80 Astronautics and Aeronautics June 1965 view details
  • Albert, M.R., P.C. Clem, L.A. Flenker, J. Reinfelds, R.N. Seitz, and L.H. Wood: The Amtran Sampler System Instruction Manual, NASA Technical Memorandum, NASA TM X-53342, July 1966. view details
  • Clem, P. L., Jr. et al., "AMTRAN-A Conversational-Mode Computer System for Scientists and Engineers" pp115-150 view details
          in Proc. IBM Scientific Computing Symposium on Computer-Aided Experimentation, IBM Corp., Data Processing Division, White Plains, N.Y. 1966 view details
  • Reinfelds, J. et al., "AMTRAN, A Remote-Terminal, Conversational Mode Computer System" pp469-77. view details Abstract: The AMTRAM (Automatic Mathematical TRANslation)
    system combines the concept of the open-ended desk-calculator
    (such as the Culler-Fried system) with that of the interactive,
    User-oriented programming system (such as JOSS). AMTRAM
    permits the use of natural mathematical notation as a
    Programming language at the level of conventional programing
    languages up to the level of advanced calculus. With
    AMTRA~M, the user can obtain immediate graphic display of
    intermediate and final results and he can’ retain his numerical
    results and programs for further use either as hard copy or
    in machine readable form.
    Extract:
    Reinfelds, Juris; Flenker, L. A. and R. N. Seitz "Amtran, a remote-terminal, conversational-mode computer system"

    Introduction
    The development of efficient, reliable and inexpensive microelectronics has brought about a drastic reduction in the cost of computing time so that the programmer's time spent on a problem is no longer an insignificant part of the total cost. Furthermore, the rapid development of faster, larger and less expensive computers will soon make more computing capacity available than we can program for, even if every available programmer works two shifts a day, seven days a week.

    The obvious way out of this dilemma is to eliminate the need for a specialist programmer from a larger class of routine problems. For the last 18 months we have endeavored to develop such a system called AMTRAN (for Automatic Mathematical TRANslation) and this paper will review our progress so far. AMTRAN was inspired by a similar on-line system developed by Culler and Fried and it shares many basic principles with the Klerer-May system. The development of AMTRAN was initiated by Seitz and it is at present carried on by several of us in Huntsville. The basic goals of AMTRAN are:
    1. To use the natural language of mathematics as a programming language without any arbitrary restrictions whatsoever.
    2. To obtain immediate graphical output of intermediate and final results.
    3. To retain a hard copy of useful results and programs.
    4. To retain copies of programs in an easily reusable form.
    5. To retain utmost flexibility in the system so as to allow its use from the level of existing programming language up to the level of advanced calculus.

    The natural language of mathematics The conventional usage of mathematical notation as expounded in mathematical textbooks and lecture courses is surprisingly consistent. We call it the natural language of mathematics because every scientist should be well acquainted with it. Especially numerical and functional analysis has a very simple logical structure consisting of a closed system of two classes of objects: operators (like INTEGRAL, SINE, COSINE, EXP, +, --, /, etc.) and operands (usually denoted by some Roman or Greek letter like X, Y, a, 0, ~, etc.). The operands are either single numbers, called constants, or ordered sets of numbers, called functions. Furthermore, one can have one or two dimensional arrays of either of these, called vectors and matrices. The natural language of mathematics specifies logically consistent sequences of operators which, acting on some operand, will generate another operand uniquely and unambiguously with only a few exceptions, such as division by zero or the square root operation. If these obvious pitfalls are avoided, each operator and operand has a well defined specific meaning so that all the logical requirements for a programming language are satisfied. Two more important features have to be developed, however, before the natural language of mathematics can be used as a programming language.
    First, we have to provide automatic array arithmetic so that all operands are treated on the same footing. For example, once we specify the range of the independent variable X and the number of intervals in the range at which we wish to carry this function, we should be able to call any function of X with the same ease as we now call constants. Thus EXP X ~ Y will automatically compute the exponential of all the numbers in the X array and transfer them to the functional array Y.
    Second, we have to provide all the operators used by advanced calculus. It is obviously impossible to do this by programming each and every one of these. The list of call codes would be prohibitively long, the operating speed intolerably slow. Again, the structure of mathematics comes to our rescue, because in every branch of it there is a small basic set of operators from which a more extensive set may be constructed. These in turn form the basis of the next level and so on. For example, most procedures of numerical analysis are constructed from the forward, backward or central difference operators, and a system, such as AMTRAN, which contains these operators provides most of the capabilities of numerical analysis.

          in [ACM] Proceedings of the 21st ACM National Conference 1966 view details
  • Wood, L. H., Reinfelds, J., Seitz, R. N, and Clem, P. L., Jr. "The AMTRAN System" pp22-27 view details Extract: General philosophy
    General philosophy
    AMTRAN is a multi-level language. It can be used by the Systems programmer at the level of bit manipulation or by the applied mathematician with no prior knowledge of computing, or by practitioners at any intermediate level. The system can be used in an on-line, conversational mode or in an off-line, batch-processing mode or in any combina­tion of the two. The keyboards, cathode ray scopes and typewriters provide low-cost adjuncts to the usual card, printer, tape, and plotter attachments.
    Three objectives have been of primary importance in the development of the AMTRAN system.
    First, a scientist or an engineer with no background in computer techniques should be able to solve relatively straightforward mathematical problems with little or no instruction in the use of the AMTRAN system. For this pur­pose, the system has standard "convenience" operators in the language of classical mathematics, such as F, d/dx mini-max, etc., which suffice for a large fraction of the problems commonly encountered by the scientist or engineer.
    Also, the AMTRAN language has been considerably streamlined to permit the user to "converse" with the com­puter in the natural language of mathematics. For example, the system provides automatic array arithmetic, automatic dynamic dimensioning of arrays, no declaration of vari­ables, automatic assignment of working storage, implied multiplication, natural-English input and output, "picture" formatting, and other adjuncts to natural mathematics.
    Second, the programmer and the more experienced user'should be provided with the capability to construct their own programs and operators at the keyboard so that they can handle problems for which the standard set of opera­tors is inadequate and so that they can take advantage of the extremely short turnaround times which are character­istic of conversation-mode programming. This requirement has been met by including algol 60 programming capa­bilities with certain programming extensions?e.g., high- level logical and transfer instructions, extensive list-processing and symbol manipulation capabilities, graphical input and output instructions, etc. Perhaps the most im­portant feature is a simplified procedure-and-operator gen­eration arrangement which permits the construction from the keyboard of general-purpose "super-instructions." These can then be stored in a disc-file library. This means that the programmer is not restricted to 30 to 40 basic FORTRAN-level instructions, but can, in effect, draw upon a repertoire of hundreds or thousands of general-purpose mathematical and logical procedures as building blocks for his programs.
    Third, the system must be economically competitive with batch-processing systems in speed and storage. This re­quirement will be met through an incremental compiler. Extract: Conclusion
    Conclusion
    An effort has been made in the development of AMTRAN to develop a broad-based programming system which spans the spectrum from a streamlined machine language for the professional programmer to the highest level mathematical operations (for the scientist or engineer).
    In addition to the writing of an incremental compiler, future plans call for effort in the areas of symbol manipulation, automatic numerical analysis, and the introduction of new simplified basic programming operations. It is hoped that these improvements, particularly in the symbol manipulation area, will improve the programming checkout and debugging rates beyond their present values. Turnaround times are presently running 5% to 10% of the batch processing rates.
    An interesting result of our demonstrations has been the response of scientists and engineers to the system. The reaction is invariably "Where can I get one of these?". There is no doubt that a market exists for a conversational-mode computer system which speaks the natural language of. mathematics as nearly as possible, and which relieves the user of all those programming and analytical bookkeeping operations which can be prescribed in "cook-book" terms. Of course, incorporating the procedures of classical and numerical analysis into an on-line computer system is a formidable task. Nevertheless, we hope AMTRAN will provide a first step toward everyday use of an automatic mathematical system for on-line computation.
    Extract: Other conversational mode systems
    Other conversational mode systems
    The basic inspiration for AMTRAN was the Thompson-Ramo-Wooldridge on-line computer system originated by G. J. Culler and B. D. Fried and later extended by Culler at the Univ. of California (Santa Barbara). The Culler-Fried system utilizes a 5-inch Tektronix storage scope, a typewriter keyboard, and another typewriter keyboard with specially-labeled operator keys. The system possesses the ability to handle complex numbers, two-dimensional arrays, vectors and matrices. It is designed to permit the console programming of operators or instructions and it also provides array arithmetic. It is very fast in execution. Although there are similarities between AMTRAN and the Culler-Fried systems, there are also sizable differences.
    Another early conversational mode system consists of the RAND Corporations highly-polished JOSS system, which has formed the basis for the Burroughs INTERP system and the SDS CAL language. Four more recent conversational mode languages are quiktran (ibm's conversational-mode fortran system), and the MAP, Reckoner, and COGO systems. The Reckoner and MAP systems are quite similar to AMTRAN in their provision of a streamlined, applied-mathematics language for scientists and engineers. The COGO system is a problem-oriented language designed to accommodate civil engineering problems.
    Two on-line batch-processing systems which use special high-speed compilers consist of the Klerer-May system and Dartmouth's BASIC language. The Klerer-May system is particularly strong in its emphasis upon natural mathematical formatting of its input and output. General Electric has implemented BASIC on a commercial basis.
    AMTRAN differs from the preceding systems in various ways. It has been given certain features intended to facilitate future research in applied mathematics. It should be emphasized that AMTRAN is a full-scale ALGOL-type programming system and not a simplified language designed only for small computations or for a narrow range of problems.
    Two restricted versions of AMTRAN are presently available which can be used on any IBM 1620 computer with floating point hardware and indirect addressing capabilities.
    One version is intended for 1620's with 40,000 digits of core storage while the other is designed for 60,000 digit machines. No special equipment is needed except for the usual console typewriter and a card-reader punch. Copies of these 1620 programs are available from the authors upon request.
    Although these restricted versions are designed for small core machines, they possess considerable power. Virtually all of the capabilities of the 1620 version of fortran ii are present, in addition to automatic array arithmetic multi-level programming of operators, rudimentary symbol manipulation capability, the Algol IF test, subscripted subscripts, and above all, the ability to deal with straightforward problems at approximately. the level of classical mathematical analysis. Through an encoding arrangement, this system can store up to 50 console programs or subroutines and can accommodate matrices or two-dimensional arrays up to 25 x 25. (When small desk-top computers become economically feasible, a 4-8,000 word edition of AMTRAN could combine the mathematical power of a digital computer with the simplicity and convenience of a slide rule.)
    A more elaborate system utilizing one of the special terminals -described in this article has been implemented on IBM 1620 mod II computer with a disc file.
    Although the writers have had very favorable experience with keyboards and visual displays, considerable ef­fort has been expended in rendering AMTRAN compatible with typewriter and teletype input and output, since the latter are cheaper than full-scale AMTRAN terminals.
    An extended version written in Algol 60 is currently under development in collaboration with the Burroughs Corporation. This time-sharing AMTRAN incremental-compiler will act like a single program in the multi-processing B5000 or the faster (800-nanosecond cycle time) B6000 computers.
    Finally, the Brown Engineering Co. is presently developing an AMTRAN incremental compiler for the IBM 1130 computer. Extract: Hardware Configuration
    Hardware Configuration
    As previously mentioned, a typical AMTRAN terminal consists of a large keyboard, one or two cathode ray scopes, a Polaroid camera for the scopes, and a special Selectric typewriter. A stylus or "electric pencil" will soon be avail­able to enter graphical information to the computer.
    The keyboard has two classes of buttons: labeled buttons which are permanently programmed and unlabeled buttons which are "programmable" by the operator. Suffi­cient space is provided around the unlabeled pushbuttons so that the user may label them as he wishes on paper overlays provided- for this purpose. Since the num­ber of pushbuttons is necessarily limited, they are used primarily for the more common functions and operators, such as the +, sin, and repeat operators, while mnemonic codes are used to call less commonly used operations such as the error function, or the Newton-Raphson method for solving differential equations.
    Since the typewriter is used to call a great majority of operations, the question arises: Why use the keyboard at all? Briefly, when a typewriter is used to enter mathe­matical equations, entry becomes quite slow and prone to error. A conflict seems to arise in the user between the consideration of the problem and the mechanics of typing. On the other hand, the keyboard is relatively inexpensive, permits considerably faster entry than the typewriter, and provides important software advantages because it enters binary codes directly into the computer, bypassing the label-decoding process. Also, a special keyboard is quite desirable for certain special operations, such as those deal­ing with graphical displays. Most of the people who have used AMTRAN so far have preferred the keyboard-type­writer combination to the typewriter alone. Nevertheless a typewriter can be used in lieu of the keyboard at some reduction in performance.
    Because of the large number of buttons and instruc­tions associated with the keyboard, a full set of instruc­tions has been stored on the disc file and the user may display them any time. A general instructions button has been provided on the keyboard to elicit a display of general instructions on the cathode ray scope and get the user'started. Thereafter, the user can get specific in­structions regarding the use of any particular button by pressing the turn page button, followed by the button in question. Thus, the system can explain itself in a self-teaching fashion to the novice user.
    The typewriter, used to provide a permanent record of the program, has an 88-character set, which includes most of the Greek alphabet and a large complement of mathe­matical symbols (Fig. 2). The complete AMTRAN type­writer unit currently under development will have the ability to index the roller upward or downward inde­pendent of the carriage return so that mathematical equa­tions may be typed out in the format in which they appear in a mathematics textbook. The typewriter is also used to type out data and results (augmented by the line printer) and, in addition, can serve as a plotter. The reverse in­dexing feature makes it possible for the typewriter to plot and label a curve in 30-40 seconds.
    The stations used by the authors incorporate two scopes so that one scope can present alphanumeric information while the other retains "blackboard" graphical displays. The alphanumeric scope is used to print out instructions and error messages, and while it does not provide hard copy as does the typewriter, its writing speed is much greater. Therefore, it may be used to compose segments of the user's program before entry into the computer. Once the input has been checked, it is released to the computer, at which point a type-out occurs. This rapid writing rate has afforded unexpected benefits in the rapid printing or alphanumeric information in comparison to the slow type­writer. The 5-inch Tektronix storage scopes used for this purpose are inexpensive, afford high resolution, and re­quire no internal buffering; consequently, they can be operated over ordinary voice-grade telephone circuits. (An improved 11-inch scope will be available early next year.) The attached Polaroid camera provides excellent high-contrast photos of the data displayed on the scope face. It would also be possible to employ an on-line plotter which would be shared by several stations. The plotter would provide accurate hard copy plots of any desired data AMTRAN software can be implemented on almost scientific computer of any reasonable size and speed, old or new.


          in Datamation 12(10) Oct 1966 view details
  • Randell, B. review of Reinfelds 1966 (AMTRAN) view details Abstract: This is an extremely irritating paper. It is a description, couched in terms which would be better suited to a sales brochure, of a conversational interpretive programming system inspired by the work of Culler and Fried.

    The authors state that a basic goal of AMTRAN is "to use the natural language of mathematics as a programming language without any arbitrary restrictions whatsoever." To this end, the system employs a vast array of pushbuttors and a specially designed typewriter which provides "a carefully chosen set of alphanumeric and mathematical symbols together with computer-controlled forward and reverse half line indexing capability." However, there is no evidence that any significant attempt has been made to provide a general displayed formula capability such as is included in, for example, MADCAPand COLASL.
    In fact, it would appear that the AMTRAN programming language is a mixture of powerful facilities (e.g., array arithmetic, recursive procedures, symbolic differentiation) and petty restrictions (e.g., subscripted variables cannot appear in subscript expressions; arrays may have no more than two dimensions; nesting of compound branching is limited to eight levels). Other facilities provided by the system include convenient graphical output, and some rudimentary program editing commands. A graphical input system is being developed. Very little information is given about the hardware used for the standard AMTRAN system, though this is stated to be in operation, and working well. However, the paper includes an awesome "artist's conception of the AMTRAN III terminal," and also details of a special version of AMTRAN, called the "AMTRAN Sampler System" which is operational on the IBM 1620, using the console typewriter and card reader for input.

    There is undoubtedly much of interest in the AMTRAN programming system and its implementation. It is a pity that the present paper does so little to satisfy our curiosity on these matters.


          in ACM Computing Reviews 8(01) January-February 1967 view details
  • Ruyle, A., Brackett, J W., AND Kaplow, R. "The status of systems for on-line mathematical assistance" view details
          in Proceedings of the 22nd national ACM conference 1967, Washington, D.C. view details
  • Sammet, Jean E., "Roster of Programming Languages 1967" view details Extract: AMTRAN
    An on-line keyboard system allowing input and output of equations in a semi-natural format, and output of graphical and numerical solutions on a scope or typewriter.
          in Computers & Automation 16(6) June 1967 view details
  • Seitz, R. N., Wood, L. H., and Ely, C. A., "AMTRAN-Automatic Mathematical Translation" view details
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Engelbert, Hubert S. "Reference Manual of the AMTRAN System for the 1620 Computer" Athens Computer Center, University of Georgia; 1969 view details
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Eskelson, N and Kopetz, H "AMTRAN-manual for the IBM 1.10 computer" view details
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Kratky, G "The definition of AMTRAN" Computer Center AMTRAN Report University of Georgia 1969-4 view details
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Kratky, G., The Definition of AMTRAN, AMTRAN Report 1969-4 Computer Center, University of Georgia, (1969). view details
          in ACM Symposium on "Interactive Systems for Experimental Applied Mathematics", editors Klerer and Reinfelds, Washington, D.C., August 1967 view details
  • Kratky, G.; Kopetz, H.; "The Sematics of a Mathematically Oriented Computer Language" view details
          in Proceedings of the twenty-fourth ACM national conference August 1969 view details
  • Reinfelds, J. "AMTRAN: An Interactive Computing System", pp537- 542 view details Extract: INTRODUCTION
    INTRODUCTION
    The AMTRAN system (Automatic Mathematical TRANslator) is a multi terminal conversational mode computing system which enables the mathematically oriented user to interact directly with the computer in a natural mathematical language. The first version of AMTRAN was developed at the George C. Marshall Space Flight Center in Huntsville, and was implemented on IBM 1620 and 1130 computers and, as a time-sharing version, on a Burroughs 5500 computer. A modified 1620 console version is currently in use at the University of Georgia.
    In connection with the project of implementing a multiconsole version on an IBM 1130 computer, the AMTRAN language has been revised and formally defined at the University of Georgia Computer Center.
    The following objectives have been of primary importance in the development of the AMTRAN systems:
    First, the initial use of a computer by the mathematically oriented nonprogrammer an scientist should be made easy by using a simple language as similar to mathematical notation as possible. The language should be designed for incremental learning so that a user may successfully use the system without knowing all of its details.
    Second, the system should provide powerful programming capabilities for the solution of medium and large scale problems and complicated algorithms by the more experienced user or professional programmer.
    Third, since AMTRAN was conceived as a special purpose language for mathematical and scientific use, the system should provide more flexibility in programming, debugging, and turnaround time compared to conventional computing systems.
    Fourth, the new design and divinition of the AMTRAN language should have as few restrictions, exceptional rules to remember, and departures from the
    well-known semantics of algebra as possible without reducing the power of the system. The system should be fully recursive and there should be no practical limitation to the length of variable and program names, the number of defined variables, the dimensions of arrays, etc.
    Extract: BASIC FEATURES OF AMTRAN
    BASIC FEATURES OF AMTRAN
    Language features
    The complete definition and a detailed description of the AMTRAN language appears in References 3 and 6. In this chapter, we shall describe the basic features of the language in accordance with the design principles and the aims of the AMTRAN systems a presented in the introduction.
    Basic operators and functions
    +> —,*, /> power, unary minus, SQRE, LN, ABS, EXP, LOG, SIN, COS, TAN, TANK, ARCTAN.
    These operators are intrinsic to the system and, by using the well-known semantics of algebra and the familiar names for the functions, they can be used immediately by the nonprogrammer.
    Absence of dimension statements
    Arrays   are   created   and   changed   with   complete freedom at run time. Examples:
    X = ARRAY (0, 5, 5) creates an array X with the values 0, 1, 2, 3, 4, 5 Y = X + 1
    creates an array Y with the values 1,2,3,4,5,6
    even if Y had been a scalar or an array with another dimension before. Another operator to construct arrays is the concatenate operator &.
    X=0&1&2&3&4&5
    creates the same array as array X in the previous example.
    Absence of declaration statements
    The type of a variable is automatically defined through the assignment statement until it is changed by another assignment statement. At execution time, the control routine for each operator checks the type and range, sign and dimension of the operands.
    A new concept is used for the handling of integers. They are stored and treated internally as real numbers, but a special rounding routine preserves their integer status through any arithmetical manipulations. Every time an operator requires an integer argument, the system examines the real representation of the value of the operand to determine whether it represents an integer number; an error message is typed if it does not. Thus, AMTRAN will give the right results for (-2.5)2 as well as for (_2.5)3*SIN(pi/6)+0.5.
    Automatic array arithmetic
    The basic operators and functions mentioned in 3.1.1. and the relational operators can be used not only for scalars, but also on arrays. Thus, the user may compute directly with the numerical representations of functions without writing loops. For example, the function
    2
    y = —7= e~z sin x
    V*
    Three modes of operation
    1.   Execute mode: An interactive system must have an execution mode (or desk calculator mode) where each statement   is   executed   immediately   and   control   is returned to the keyboard. This is the Default mode in AMTRAN.
    2.   Suppressed mode: The suppressed mode (delayed mode) allows the user to construct programs which are syntax checked and stored for execution at a later time.
    3.   Checking mode: AMTRAN has a third mode, the checking mode, which allows the user to execute parts of suppressed programs while they are being constructed. This is an important and for online program construction.
    Extract: COMPARISON WITH OTHER HIGH LEVEL LANGUAGES
    COMPARISON WITH OTHER HIGH LEVEL LANGUAGES
    A comparative study between AMTRAN and other
    high level languages has to be divided into two parts. Only language features can be compared with batch mode languages, whereas the whole AMTRAN- system can be taken into account for a comparison with other interactive systems.
    Batch mode languages
    Most likely, PL/1, ALGOL, or FORTRAN would be used to solve mathematical, technical or scientific problems in batch mode. A comparison with AMTRAN is not really feasible as the basic philosophy and design principles of batch mode languages are completely different from AMTRAN.
    Since language development goes more and more in the direction of powerful general purpose languages, it becomes more and more difficult, time consuming, and cumbersome for the nonprogrammer to make the first step towards use of a computer. But even for the experienced user, the three languages mentioned above do not provide the convenience and facilities in programming that AMTRAN does. They need type and dimension declarations; the flexibility in changing types and dimensions at run time is lacking; and they do not have AMTRAN's array handling capabilities.
    PL/1 with its default philosophy, its various types of storage allocation, and certain automatic array arithmetic features is close to AMTRAN's facilities and philosophy of programming convenience. On the other hand, it is inconvenient for the user to keep track of storage allocation  problems in writing recursive or re-entrant programs or in using arrays with computed origin.
    PL/1 is truly a general purpose programming language. It is designed for programming needs in science, engineering, data management, and business. AMTRAN, on the other hand, is a special purpose programming language for mathematical, scientific, and technical applications and has not been designed to compete in general with a language like PL/1. It is not intended to handle extensive data; therefore, it does not need powerful I/O-capabilities and sophisticated formatting facilities. But it can compete or even perform better within the limits of its special purpose.
    Interactive systems
    An interactive console system fills the gap between a desk top calculator and conventional batch mode
    computer programming. On one hard, it has to give immediate answers to simple request on the other hand,  it has to provide powerful programming capabilities.
    A milestone in the development of interactive systems was the Culler-Fried-Systen . which strongly influenced the early AMTRAN development. Prof. Culler's system represents a highly powerful multi-console system. A disadvantage is that it does not stay close to the mathematical notation, and it is not simple and easy to learn.
    CPS is a conversational subset of PL/1. It has a calculator mode and a program mode and is a useful conversational system although it does not have AMTRAN's flexibility and power in a ray and function handling.
    Iverson's language APL (A Programming Language) is a more formal approach to application programming. It is particularly useful for classical mathematical applications, and it has been implemented as a powerful interactive time-sharing system. The language has features such as array arithmetic, programming capabilities, and a large set of primitive operators including matrix handling operators. An extenstive set of special symbols is used instead of keywords. Thus, a special typewriter is necessary. The proponents of APL claim that its source code is more efficient per statement than that of any other programming language. On the other hand, it is less readable. One has to learn special symbols instead of using mnemonics. For example, the quad [] in APL is less informative as an output operator than the TYPE in AMTRAN.
    Major disadvantages are that APL does not follow classical mathematical notation, there is no hierarchy among operators, and the order of execution of statements is from right to left. This meat the mathematician and scientific nonprogrammer must convert his formulas, written in normal textbook format, into the APL-notation, and the programmer experienced in any other language is even more confused. APL is a language which requires both care and training for simple applications.
    Extract: CONCLUSIONS
    CONCLUSIONS
    AMTRAN, as described in this paper, can be implemented on a small computer. Such a small computing system is a serious alternative to a console of a commercial time-sharing system. The present developments on the hardware market—a decrease in the price of small computers—make the outlook for problem-solving systems like AMTRAN, particularly bright.

          in [AFIPS] Proceedings of the 1970 Fall Joint Computer Conference FJCC 37 view details
  • Smith, Lyle B. "A Survey of Interactive Graphical Systems for Mathematics" view details Extract: Introduction
    AMTRAN (Automatic Mathematical TRANslation system) was initially developed at NASA's Marshall Space Flight Center in Huntsville, Alabama, and has been available to users since early 1966, see Wood et al. (I966), Reinfelds et al. (1966), and Ruyle et al. (1967). AMTRAN was inspired by the Culler-Fried system and retains many similarities, especially the use of function buttons. The basic goals of AMTRAN, as stated by Reinfelds et al. (1966), are:
    a) to use the natural language of mathematics as a programming language without any arbitrary restriction whatsoever;
    b) to obtain immediate graphical output of intermediate and final results;
    c) to retain a hard copy of useful results and programs;
    d) to retain copies of programs in an easily reusable form; and
    e) to retain utmost flexibility in the system so as to allow its use from the level of existing programming language up to the level of advanced calculus.
    The AMTRAN system employs remote texminals consisting of a large keyboard (with 224 pushbuttons), two 5-inch cathoderay storage oscilloscopes for graphical and alphanumeric display, and a typewriter to provide a permanent record of displayed information when desired. These peripherals are connected to an IBM 1620. The AMTRAN language is multilevel in that it can be used by a systems programmer, an applied mathematician, or at any intermediate level. Both an on-line conversational mode and an off-line batch mode (or a combination) are available to the users. gramming capabilities as well as the push-button operators. Among the operators that are implemented to facilitate the expression of mathematical calculations in classical notation are f, d/dx, MINIMAX, etc. An array of unlabeled buttons is provided for storing a user defined sequence of button pushes (a user defined console program). Automatic array arithmetic is provided. The large keyboard (224 buttons) developed for the original version of AMTRAN has been found to be less than completely satisfactory. Another version of AMTRAN has been developed for an IBM 1130 with the terminal consisting of a typewriter and a storage scope (Tektronix 611). This 1130 AMTRAN is implemented at Brown Engineering, Huntsville, Alabama, see Dyer and Buntyn (1968). Without the use of the large keyboard, the necessary variety of operators and operands is provided by allowing multiple character names for these entities. Thus the operator SIN is invoked by typ'ng the three letters S-I-N, and a variable name may consist of one to six characters (the first being alphabetic). A sequence of AMTRAN statements may be given a name using the NAME operator and stored for later use. This is equivalent to the saving of "console programs" in the Culler-Fried system or the large keyboard AMTRAN system. Extract: Introduction
    AMTRAN (Automatic Mathematical TRANslation system) was initially developed at NASA's Marshall Space Flight Center in Huntsville, Alabama, and has been available to users since early 1966, see Wood et al. (I966), Reinfelds et al. (1966), and Ruyle et al. (1967). AMTRAN was inspired by the Culler-Fried system and retains many similarities, especially the use of function buttons. The basic goals of AMTRAN, as stated by Reinfelds et al. (1966), are:
    a) to use the natural language of mathematics as a programming language without any arbitrary restriction whatsoever;
    b) to obtain immediate graphical output of intermediate and final results;
    c) to retain a hard copy of useful results and programs;
    d) to retain copies of programs in an easily reusable form; and
    e) to retain utmost flexibility in the system so as to allow its use from the level of existing programming language up to the level of advanced calculus.
    The AMTRAN system employs remote texminals consisting of a large keyboard (with 224 pushbuttons), two 5-inch cathode-ray storage oscilloscopes for graphical and alphanumeric display, and a typewriter to provide a permanent record of displayed information when desired. These peripherals are connected to an IBM 1620. The AMTRAN language is multilevel in that it can be used by a systems programmer, an applied mathematician, or at any intermediate level. Both an on-line conversational mode and an off-line batch mode (or a combination) are available to the users.
    The language includes Algol/60 programming capabilities as well as the push-button operators. Among the operators that are implemented to facilitate the expression of mathematical calculations in classical notation are f, d/dx, MINIMAX, etc. An array of unlabeled buttons is provided for storing a user defined sequence of button pushes (a user defined console program). Automatic array arithmetic is provided.
    The large keyboard (224 buttons) developed for the original version of AMTRAN has been found to be less than completely satisfactory. Another version of AMTRAN has been developed for an IBM 1130 with the terminal consisting of a typewriter and a storage scope (Tektronix 611). This 1130 AMTRAN is implemented at Brown Engineering, Huntsville, Alabama, see Dyer and Buntyn (1968). Without the use of the large keyboard, the necessary variety of operators and operands is provided by allowing multiple character names for these entities. Thus the operator SIN is invoked by typ'ng the three letters S-I-N, and a variable name may consist of one to six characters (the first being alphabetic). A sequence of AMTRAN statements may be given a name using the NAME operator and stored for later use. This is equivalent to the saving of "console programs" in the Culler-Fried system or the large keyboard AMTRAN system.
    The ,development of an additional AMTRAN system, written to handle multiple users, was begun on a Burroughs B5500 computer. However, this work was terminated during the checkout phase due to the transfer of the computer to another location. Work then began on conversion of the B5500 AMTRAN to the Univac 1108. This conversion effort is currently inactive because of limited availability of the 1108 computer.
    The current status of the several AMTRAN systems can be summarized as follows:
    IBM 1620 AMTRAN--Program development was completed in 1966, and the system is now obsolete. Burroughs B5500 AMTRAN--This effort was terminated due to relocation of the computer.
    Univac 1108 AMTRAN--This system is a conversion of the B5500 AMTRAN, but the conversion is temporarily inactive due to limited availability of the 1108.
    IBM 1130 AMTRAN--A nearly completed version of AMTRAN is currently under development at George Marshall Space Flight Center-NASA and Brown Engineering Company. This limited version, using typewriters and (possibly) storage scopes for terminals, is in test at several sites.
    A more comprehensive AMTRAN system using a graphic terminal consisting of a special keyboard and two storage scopes is in final stages of checkout. This terminal is illustrated in Figure 3.

          in [ACM] ACM Computing Surveys 2(4) Dec1970 view details
  • [NASA] AMTRAN: Automatic Mathematical Translator view details Abstract: AMTRAN is an automatic-programming on-line, multi-terminal computer system which affords order-of magnitude improvements in programming, debugging and turnaround times over conventional computer arrangements. AMTRAN permits a scientist or engineer to enter mathematical equations in their natural mathematical format as they appear in a textbook and obtain an immediate graphical display of the solution on a cathode ray scope. The system can be used for straightforward problems by a scientist or engineer with no previous computer experience while, at the same time, it provides the flexibility required by the experienced programmer to solve nonroutine problems. The overall objective has been to develop a man-machine interface in which the computer acts as an extension of the human mind, with the closest possible coupling consistent with present technology. Documentation for this program is also available as NASA TM X-53342 from the National Technical Information Service (NTIS). Springfield, Virginia 22151.

          in Computer Program Abstracts Cumulative Issue July 15, 1969 -- July 15, 1971 view details
  • Sammet, Jean E., "Roster of Programming Languages 1972" 12 view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Reinfelds, Jurius "Development of interactive languages for scientific computing: programming language research report" pp80-81 view details DOI Abstract: The AMTRAN Language was developed and implemented on the IBM-1130 computer. The implementation has been completed and tested and it is now used by several colleges and research institutions.
    The SIGMA Language definition has been completed and the first stage of an implementation on the CDC-6000 series computers is presently operational.
    […]
    APL redefines mathematical notation and BASIC simplifies FORTRAN. Our approach is to minimize the number of concepts which are new to a non-computer-specialist, scientist-user by
    (i) retaining conventional mathematical notation so that the concept of expression is immediately familiar.
    (ii) providing a single, automatically managed data structure: the n-dimensional rectangular array.
    (iii) providing a single data type: number, which contains integers, Boolean variables and string characters.
    (iv) providing a strong, direct and flexible graphical output capability through a single operator DISPLAY and coherent semantics in its operand list.
    Another way to state our approach is to observe that whatever appears as a logical whole to the user'should be handled as a logical whole by the problem solving language. Therefore the data structure and operators are defined to spare the user the writing of repetitive programming structures without impairing the flexibility of the language. The AMTRAN language was inspired by the Culler-Fried system [I]. The first AMTRAN system for the IBM 1620 computer was developed I n 1965 by Dr. R N. Seitz [2]. Of NASA, Marshall Space Flight Center, Huntsville, Alabama. The Huntsville AMRAN group has recently completed an AMTRAN implementation for the Datacraft DC-6024 computer.

    The SIGMA language and implementation for the CDC 6000 series computers is a joint research project between CERN, Geneva, Switzerland and the Computer Center, University of Georgia. SIGMA was defined in the summer of 1971 as a considerably extended combination of GAMMA and AMTRAN.
          in SIGPLAN Notices 8(06) June 1973 SPECIAL ISSUE: Abstracts in programming language-related research 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 34 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
  • Vandoni, Carlo "Scientic Data Visualization" Cern December 1995 view details pdf
          in ACM Computing Reviews 15(04) April 1974 view details
    Resources
    • AMTRAN Console, Keyboard (later) version

    • AMTRAN Console, Pushbutton (earlier) version

    • AMTRAN Later model keyboard

    • AMTRAN Console