EASY FOX(ID:64/eas015)

Rand autocode for Johhniac 

for E and F in the then current USAF phonetic alphabet (The E stood for the E cards and the F stood for the F cards)

RAND Corp autocode for JOHNNIAC, subsequently used by Shaw to write JOSS and IPL-II

Related languages
EASY FOX => IPL-II   Written using
EASY FOX => JOSS   Written using

  • Shaw, J. C. "EASY FOX: A loader for style E program and data cards" Rand corp 1955 view details
  • Bemer, R. W. "The Status of Automatic Programming for Scientific Problems" view details Abstract: A catalogue of automatic coding systems that are either operational or in the process of development together with brief descriptions of some of the more important ones Extract: Summary
    Let me elaborate these points with examples. UNICODE is expected to require about fifteen man-years. Most modern assembly systems must take from six to ten man-years. SCAT expects to absorb twelve people for most of a year. The initial writing of the 704 FORTRAN required about twenty-five man-years. Split among many different machines, IBM's Applied Programming Department has over a hundred and twenty programmers. Sperry Rand probably has more than this, and for utility and automatic coding systems only! Add to these the number of customer programmers also engaged in writing similar systems, and you will see that the total is overwhelming.
    Perhaps five to six man-years are being expended to write the Alodel 2 FORTRAN for the 704, trimming bugs and getting better documentation for incorporation into the even larger supervisory systems of various installations. If available, more could undoubtedly be expended to bring the original system up to the limit of what we can now conceive. Maintenance is a very sizable portion of the entire effort going into a system.
    Certainly, all of us have a few skeletons in the closet when it comes to adapting old systems to new machines. Hardly anything more than the flow charts is reusable in writing 709 FORTRAN; changes in the characteristics of instructions, and tricky coding, have done for the rest. This is true of every effort I am familiar with, not just IBM's.
    What am I leading up to? Simply that the day of diverse development of automatic coding systems is either out or, if not, should be. The list of systems collected here illustrates a vast amount of duplication and incomplete conception. A computer manufacturer should produce both the product and the means to use the product, but this should be done with the full co-operation of responsible users. There is a gratifying trend toward such unification in such organizations as SHARE, USE, GUIDE, DUO, etc. The PACT group was a shining example in its day. Many other coding systems, such as FLAIR, PRINT, FORTRAN, and USE, have been done as the result of partial co-operation. FORTRAN for the 705 seems to me to be an ideally balanced project, the burden being carried equally by IBM and its customers.
    Finally, let me make a recommendation to all computer installations. There seems to be a reasonably sharp distinction between people who program and use computers as a tool and those who are programmers and live to make things easy for the other people. If you have the latter at your installation, do not waste them on production and do not waste them on a private effort in automatic coding in a day when that type of project is so complex. Offer them in a cooperative venture with your manufacturer (they still remain your employees) and give him the benefit of the practical experience in your problems. You will get your investment back many times over in ease of programming and the guarantee that your problems have been considered.
    The IT language is also showing up in future plans for many different computers. Case Institute, having just completed an intermediate symbolic assembly to accept IT output, is starting to write an IT processor for UNIVAC. This is expected to be working by late summer of 1958. One of the original programmers at Carnegie Tech spent the last summer at Ramo-Wooldridge to write IT for the 1103A. This project is complete except for input-output and may be expected to be operational by December, 1957. IT is also being done for the IBM 705-1, 2 by Standard Oil of Ohio, with no expected completion date known yet. It is interesting to note that Sohio is also participating in the 705 FORTRAN effort and will undoubtedly serve as the basic source of FORTRAN-to- IT-to-FORTRAN translational information. A graduate student at the University of Michigan is producing SAP output for IT (rather than SOAP) so that IT will run on the 704; this, however, is only for experience; it would be much more profitable to write a pre-processor from IT to FORTRAN (the reverse of FOR TRANSIT) and utilize the power of FORTRAN for free.
          in "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957 view details
  • [Bemer, RW] [State of ACM automatic coding library August 1958] view details
          in "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957 view details
  • [Bemer, RW] [State of ACM automatic coding library May 1959] view details Extract: Obiter Dicta
    Bob Bemer states that this table (which appeared sporadically in CACM) was partly used as a space filler. The last version was enshrined in Sammet (1969) and the attribution there is normally misquoted.
          in [ACM] CACM 2(05) May 1959 view details
  • Carr, John W III; "Computer Programming" volume 2, chapter 2, pp115-121 view details
          in E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959. view details
  • 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
  • Ware, Willis H. "JOHNNIAC Eulogy" RAND July 1979 Corp. document P-3313, March 1966, pp. 1l-12 view details Extract: Notable uses of JOHNNIAC
    In the earliest days of 1954, most programming was done in machine language and in absolute octal at that. In 1955 Jules Schwartz wrote the first assembly routine for JOHNNIAC and Cliff Shaw produced a revised assembler in 1956. Then came QUAD, an interpretive programming system, and SMAC, a small compiler. Each was noted for being foolproof. The non-professional programmer could use these systems comfortably; his errors would be reported to him in great detail by the machine. There were other significant contributions to the programming art as well; among them were items with such names as EASY-FOX, CLEM, JBL-4, J-100, MORTRAN done by Mort Bernstein, and Load-and-Go.

    In the late fifties, the nature of JOHNNIAC's task changed. The rental equipment from IBM carried most of the computing load from the RAND staff. JOHNNIAC became a free good; its time was available for research use. The cost of operation was sufficiently low that one need not be concerned about using large amounts of machine time. Much of its time was consumed by research on the general questions of artificial intelligence and the initials NSS came to be closely associated with JOHNNIAC. These are the initials of Allen Newell, Cliff Shaw, and Herb Simon who used the machine extensively for research. During this period came such achievements as:
  • List structures,
  • list processing techniques and their embodiment in such languages as IPL-2, -3, -4;
  • Chess playing routines such as CP-I AND -2;
  • Theorem proving routines such as LT -- the Logic Theorist;
  • The general problem solver GPS;
  • The assembly line balancer of Fred Tonge.
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Gruenberger, F. J. "The History of the JOHNNIAC" Rand Corp RM-5654-PR Oct 1968 view details Extract: Johnniac languages
    Since JOHNNIAC dates back to early explorations of stored programming computing, much of its first programming was done in absolute octal. Very soon, however -- around 1954 -- a symbolic, relative assembler was written by Jules Schwartz (of JOVIAL fame). Associated with this assembler was a system of relative binary library routines that formed the predecessor of what is now called relocatable code. In 1955 Cliff Shaw produced a load-and-go assembler (EASY-FOX) that added the feature of local symbols. EASY-FOX had another feature that was somewhat novel for its day; it was written in its own language.

    In the days of JOHNNIAC, conversion between base 10 and base 8 was a chore that programmers performed daily. Wall charts of conversion tables were a help (every programmer's office was papered with them), but an octal desk calculator was nice to have, particularly if it had 13 banks so that it would simulate the JOHNNIAC word format exactly. A government agency was found to have declared two 13-bank Monroes surplus, and RAND successfully bid on them ($79 and $104). The cost of converting one of them to base 8 ran around $500. The machines are probably still in use.

    A package of floating-point subroutines was developed; and in 1958 an interpretive coding system, QUAD, was added to the library, followed by SMAC, a small compiler. Both QUAD and SMAC, though somewhat trivial by today's standards, were notable for being foolproof. In both coding systems, open-shop users found little need for mothering; i.e. all troubles were reported to them by explicit printed error messages or, in the case of an endless loop, by an operator's message. The manuals for these systems were short but complete. The systems were active for about two years, until open-shop work was converted to FORTRAN II.

          in [ACM] CACM 6(03) (Mar 1963) view details
  • Gruenberger, F. J. "The History of the JOHNNIAC" pp57-59 (reprint of Gruenberger 1968) view details
          in Annals of the History of Computing, July 1979 view details