NCR's Autocoder 

for National's Electronic Autocoding Technique

NCR language similar to Autocoder, used extensively in banking systems, approaching near 4gl status by the mid-1970s

Related languages
NEAT => NEAT COBOL   Target language for
NEAT => NEAT/3   Evolution of
NEAT => NEATA   Evolution of

  • [NCR/Elliott] "NEAT Assembly Language - Programming Course" 4100 Data Processing System view details
  • BCS Bulletin - Literature and References to Simplified Programming Schemes for Computers, Available or Projected - November 1961 view details
  • Weik, Martin H. "A Third Survey of Domestic Electronic Digital Computing Systems" Rpt 1115, BRL, Maryland, 1961 view details External link: Online copy at Computer History Museum Extract: Programming and Numerical System
        Internal number system        Binary Coded Decimal
        Alphanum char/word            10
        Alphanum char/word             5 - 60
        Words/instruction            1/2 - 6
        Instructions decoded          83 one address
                                      37 three address w/variations
        Arithmetic system             Floating point
         MICROFLOW provides exponents in range of -50 to
         + 49 and automatic normalizing of result
                                      Fixed point
         Automatic alignment takes place
        Instruction typeOne address (MICROFLOW)
                                     Three address (Multi-address)
        Number range- (1 - 10-10) to + (1 - 10-10)
        Instruction word format
         The command structure of the 304 system is unique in a
        number of aspects. The instructions are basically 3 address plus a
        number of other functions or capabilities that are built into the
        execution of the instruction. The basic instruction word format
        for arithmetical operations such as add, subtract, etc., is
          9      8     7     6     5     4     3     2     1     0
        |  Op |         A       |        B        |        C        |
        |  V  |  M  |  S  |  R  | A1  |  Ar |  Bl |  Br |  Cl |  Cr |
         Op    = Operation Code
         A     =Address of Operand
         B     =Address of Operand
         C     = Putaway or Jump Address
         V     = Variation.& Self-Linking designator
         M     =Auto-monitor level
         S     =Combinations of A, B, or C to be relative to
                 Index Register
         R = Index Register
         A1, Ar = left and right field of A Address
         B1, Br = left and right field of B Address
         C1, Cr = left and right field of C Address
         The programmer in translating procedures for the 304 System
        will use the NEAT (National's Electronic Autocoding
        Technique) format. The programmer might write the following
        to add the Old Quantity on Hand to the Number Received to
        arrive at the New Quantity on Hand:

         ADD (V) (R) OQOH QREC NQOH
         The NEAT assembly process will translate the NEAT format
        into the necessary absolute machine language.
         It could be considered that all instructions in the basic 304
        Command List are automatic built-in subroutines. There are a
        number of operation codes that were designed specifically for
        business data processing such as Edit, Merge, Move, Sift (or table
        look-up), and Summarize that are powerful instructions and in
        some cases are self-incrementing.
         As an example, the Merge instruction will serve to illustrate
        the nature of these business-type operations. Specified in
        NEAT format would be the following mnemonic designators
        and parameters: Designate first word, first item, each string Number of items in
        each string Relative position of Major Key (if any), within item Relative
        position of Minor Key within item Number of keys (1 or 2) for the Merge
        Length of each item Specify three exits (Cutoff Merge only)
         NEAT (National's Electronic Autocoding Technique) was in operation before
        the first deliveries of the National 304 System. This system enables systematic
        organization in the approach to a problem, an assembly compiler and a complete
        library of generators, service programs, and subroutines. COBOL or COBOL-like
        language will become part of the system in a reasonable time.
         Each instruction may be relative to one of 10 Relative Index Registers. The
        particular Index Register and the portions of the instruction which are to be
        relative are specified within the instruction.
    Extract: LARC details
    Univac LARC is designed for large-scale business data processing as well as scientific computing. This includes any problems requiring large amounts of input/output and extremely fast computing, such as data retrieval, linear programming, language translation, atomic codes, equipment design, largescale customer accounting and billing, etc.

        University of California
        Lawrence Radiation Laboratory
        Located at Livermore, California, system is used for the
        solution of differential equations.
    Outstanding features are ultra high computing speeds and the input-output control completely independent of computing. Due to the Univac LARC's unusual design features, it is possible to adapt any source of input/output to the Univac LARC. It combines the advantages of Solid State components, modular construction, overlapping operations, automatic error correction and a very fast and a very large memory system.
    Outstanding features include a two computer system (arithmetic, input-output processor); decimal fixed or floating point with provisions for double
    precision for double precision arithmetic; single bit error detection of information in transmission and arithmetic operation; and balanced ratio of high speed auxiliary storage with core storage.
    Unique system advantages include a two computer system, which allows versatility and flexibility for handling input-output equipment, and program interrupt on programmer contingency and machine error, which allows greater ease in programming.
  • Bemer, R "ISO TC97/SC5/WGA(1) Survey of Programming Languages and Processors" December 1962 view details
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Weik, Martin H. "A Fourth Survey of Domestic Electronic Digital Computing Systems" Report No. 1227, January 1964 Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland view details External link: Online copy at Computer History Museum
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 164 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 [ACM] CACM 6(03) (Mar 1963) 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 410 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] CACM 6(03) (Mar 1963) view details