PRINT I(ID:456/pri004)

Load and go scientific calculation system 

for PRe-edited INTerpretive routine

Bob Bemer, IBM, October 1956

first load-and-go system, for scientific calculation on 705s, influenced by Bemer and Bosak's FLAIR system for Lockheed

People: Hardware:
Related languages
FLAIR => PRINT I   Influence

  • Bemer, R. W. "PRINT I: A proposed coding system for the IBM type 705" pp45-8 view details
          in [JCC 09] Proceedings of the Western Joint Computer Conference, San Francisco, Calif., 1956 view details
  • Bemer, R. W.; Krasnow, E.; Jim, G.; and Levitan, R. "IBM 705 PRINT I: manual" Programming Research Dept., IBM, New York. view details
          in [JCC 09] Proceedings of the Western Joint Computer Conference, San Francisco, Calif., 1956 view details
  • "The Talk of the Town" 5 January 1957 New Yorker view details Extract: PRINT 1 and FORTRAN
    We asked Mr. Bemer about the multi-computer language referred to in the Times. He said that I.B.M. has already developed two synthetic languages for its computers: Fortran, which is strictly for scientific use, and Print I, which can handle both scientific and commercial information. by I.B.M.‘s strict standards, both languages leave much to be desired (what strikes us as miraculous is mere irritating clumsiness to I.B.M.); for example, through the point has been reached where computers can translate scientific data from Russian into English at the rate of four or five sentences a minute, the data requires pre-editing and post-editing. "We’re out to develop a language that will let computers think pretty much as we do-make ready use of their stored memories and be capable of free association," Bemer said. "A computer has been designed that plays checkers and has beaten all comers so far. Chess is still beyond it, but won’t be for long. There’s no telling how many ticklish problems computers will someday be able to solve. I foresee the time when every major city in the country will have its community computer. Grocers, doctors, lawyers-they will all throw problems to the computer and will all have their problems solved. Some people fear that these machines will put them out of work. On the contrary, they permit the human mind to devote itself to what it can do best. We will always be able to outthink machines." Triumphantly, Bemer tumed a sign on his desk in our direction. It read, "REFLEXIONE." Extract: An advertisement for programmers
    The International Business Machines people ran an ad in the Times a few weeks ago asking any "research programmers for digital computers" who might be interested in taking part in an "expanding research effort in the development and automatic translation of a multi-computer language" to apply to Mr. R. W. Bemer, assistant manager of the I.B.M. programming-research department.
          in [JCC 09] Proceedings of the Western Joint Computer Conference, San Francisco, Calif., 1956 view details
  • [IBM] PRINT I (Programmer's Reference Manual), IBM Corp., 32-7334-1 (1956). view details
          in [JCC 09] Proceedings of the Western Joint Computer Conference, San Francisco, Calif., 1956 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, R. W., "PRINT I-An Automatic Coding System for the IBM 705" pp29-36 view details Abstract: A brief review of the various automatic- coding schemes developed for the various IBM computers is followed by a detailed description of Print 1. This particular system has done much to increase the flexibility and possible application of the 705 in the realm of general purpose and scientific computing.

          in Automatic Coding, Monograph No. 3, Journal of the Franklin Institute Philadelphia, Pa., April 1957. view details
  • [Bemer, RW] [State of ACM automatic coding library August 1958] view details
          in Automatic Coding, Monograph No. 3, Journal of the Franklin Institute Philadelphia, Pa., April 1957. view details
  • Bemer, R. W.; Brittenham, W. R.; Glans, T. B.; Hessling, George; Hira, G. R.; Hoggatt, A.; Krasnow, E.; Buss, George; Levitan, R.; Michels, L. PRINT 08 Executive Routine Manual. A. O. Smith Corp., Milwaukee, Wise., Feb. 1958 view details
          in Automatic Coding, Monograph No. 3, Journal of the Franklin Institute Philadelphia, Pa., April 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
  • Sammet, Jean E "1960 Tower of Babel" diagram on the front of CACM January 1961 view details

          in [ACM] CACM 4(01) (Jan 1961) view details
  • Sammet, Jean E. "Computer Languages - Principles and History" Englewood Cliffs, N.J. Prentice-Hall 1969. p.134 view details Extract: PRINT
    PRINT, which stands for PRe-edited INTerpretive system, was designed to meet the scientific computing needs of those people with an IBM 705. It was an interpretive system, which simulated floating point instructions, Coding was started at IBM in February, 1956, and the first customer tried the system in July, 1956; thus it was actually completed before FORTRAN.

    PRINT provided a series of operation codes with variable fields, such as RPT n + - i + - i + - k which performed the next instruction n times, indexing its first, second, and third address by i, i. and k word lengths, respectively. The general form of the command was

    Op Code Variable Field

    where the variable field contained one to four variables, depending on the OpCode. The operations provided included the arithmetic ones, a few mathematical functions, testing, and input/output commands; these could all be indexed. Operations which could not be indexed included tests, index commands, and some input/output.

    The main reason for including any mention of PRINT is the fact that it was the other significant attempt (besides A-2 and A-3) to provide facilities to handle scientific problems on a machine designed for use in data processing applications.
          in [ACM] CACM 4(01) (Jan 1961) view details
  • Sammet, Jean E., "Programming languages: history and future" view details
          in [ACM] CACM 15(06) (June 1972) view details
  • Sammet, Jean E. "History of IBM's Technical Contributions to High Level Programming Languages" pp520ff view details
          in IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue view details
  • Smillie, K W. review of Sammet 1981 in ACM Computing Reviews September 1982 view details Abstract: This paper gives an assessment of the contributions of IBM to the development of programming languages. It begins with a very brief survey of the development of programming languages in order to place the work of IBM in perspective, followed by a few remarks on Speedcoding and PRINT, two very early attempts within IBM to develop programming languages. The four languages considered by the author to be major contributions by IBM are FORTRAN, GPSS, APL, and PL/I. The summary of the development of these languages is based primarily on the papers presented at the History of Programming Languages Conference in Los Angeles in 1978, and will be familiar to the readers of either the Preprints or the Proceedings of this conference. Several other languages -- Commercial Translator, FORMAC, SCRATCHPAD, QUIKTRAN, and CPS -- which have made important but lesser contributions are discussed briefly. A few remarks are made on IBM's contribution to the syntactic and semantic description of languages with Backus-Naur Form and the Vienna Definition Language, respectively. There is a list of 58 references.

    The author is eminently qualified to have written this paper. She is a long-time employee of IBM, and has written many papers and a definitive book on the development of programming languages. Her account of the contributions of IBM to the development of programming languages is itself a contribution to the subject.
          in IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue view details
  • Bemer, R. W. "Programming Aids and Applications: Nearly 650 Memories of the 650" pp68-69 view details Extract: PRINT I
    In December 1955, I left the 650 world by joining IBM to write a processor for doing scientific work on the IBM 705, which was a decimal and alphanumeric machine designed originally for commercial work. PRINT I was a considerable step up from the system we had done for the 650. Although PRINT I was interpretive in execution, an initial process removed as much redundancy as possible from the executing program. PRINT was also the first load-and-go system.
    PRINT I was designed and built in the same office complex as FORTRAN, and I watched that work with interest. Design started in December 1955. I gave a talk to the Western JCC in February 1956. PRINT I was field operational by August. Obviously it was time for new work!

          in Annals of the History of Computing, 08(1) January 1986 (IBM 650 Issue) view details
  • Bemer, Bob "PRINT I - The First Load-and-Go System" view details Abstract: This vignette is primarily about an interpretive program I created for IBM in 1956. In one of those "lessons lost" it has a lot to do with today's JAVA language, 40 years later.
    How? Well, JAVA is an interpreter, too. A form of language processor that was supposed to have been obsoleted by compilers like FORTRAN and COBOL.

    I had found, as the JAVA people did, that interpreters were slow, slow! And I created a preprocessor to modify the source so that every decision that would be made exactly the same would be made once and for all at the beginning, in the source program as modified. Hello, JIT compilers! The latest way to run those slow JAVA programs. I'll accept your thanks, Scott!
    External link: Online copy
          in Bemer, Bob "Computer History Vignettes" (Web published, retrieved 2000) view details