The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - Oct.-Dec. (2013 vol.35)
pp: 69-73
Robert Braden , Inf. Sci. Inst., Univ. of Southern California, Marina Del Rey, CA, USA
ABSTRACT
The decade between 1955 and 1965 brought a revolution to academic computing, both technologically and socially. As core memory replaced electrostatic memory while transistors replaced vacuum tubes, computers advanced from flakey and difficult-to-maintain devices to reliable appliances. At the same time (and partially as a consequence), the academic use of computing expanded rapidly, computing centers became increasingly essential facilities on every campus, and computer science began to gain acceptance as a legitimate academic discipline. This Anecdote recounts the author's experience during this dramatic shift in academic computing at Stanford University during the period between 1960 and 1963. It also records a chapter in the early development of compiler design and programming technology.
INDEX TERMS
Biographies, History, Educational institutions, Program processors, Educational institutions,BALGOL, Biographies, History, Educational institutions, Program processors, Educational institutions, Burroughs Algol, history of computing, academic computing, compiler design, programming technology, Stanford University
CITATION
Robert Braden, "Burroughs Algol at Stanford University, 1960-1963", IEEE Annals of the History of Computing, vol.35, no. 4, pp. 69-73, Oct.-Dec. 2013, doi:10.1109/MAHC.2013.45
REFERENCES
1. G. Gray and R. Smith, “Before the B5000: Burroughs Computers, 1951–1963,” IEEE Annals of the History of Computing, no. 2, 2003, pp.55-56. A slightly modified version was published as G. Gray, “The Burroughs B220 Computer,” Unisys History Newsletter, vol. 5, no.2, 2001.
2. Gray and Smith, “Before the B5000:” “The [B220] was announced in 1957, which was rather late for a vacuum-tube computer.”
3. Gray and Smith, “Before the B5000.”
4. Gray and Smith, “Before the B5000:” “Customers were generally happy with the 220, and some machines were used for a long time. The 220 at Georgia Tech was still being used in the mid-1960s to teach introductory programming … The 220 at Cal Tech also lasted until 1965.”
5. “Burroughs Algebraic Compiler – A Reference Manual: A Representation of ALGOL for Use with the Burroughs 220 Data Processing System,” Bulletin 220-21011-P, Marketing Division, Burroughs, Jan 1961; http://bitsavers.org/pdf/burroughs/electrondata 220/. Also, “BAC-220. Burroughs Algebraic Compiler,” revised ed., Bulletin 220-21017, Marketing Division, Burroughs, Mar. 1963.
6. Annals of the History of Computing, vol. 9, no. 1, 1987, is devoted to B5000 history. See in particular remarks by Turner concerning the role of BALGOL.
7. D.M. Bulman, “Introduction to Stack Computers,” Computer, vol. 10, no. 5, 1977, pp.14-16.
8. The integer add time on the B220 was 185 usec; compare that with the 4.36 usec on the IBM 7090 that replaced the B220 at Stanford.
9. R.B. Forest, “BALGOL at Stanford; A Fast Compiler on a Slow Computer,” Datamation, vol. 7, Dec. 1961, pp. 24-26, www.softwarepreservation.org/projects/ALGOL algol58impl/.
10. P. Nauer, “Revised Report on the Algorithmic Language ALGOL 60,” Comm. ACM, vol. 6, no.1, 1963, pp. 1-17.
11. Breed also recalls Hamming saying, “A quantitative change of an order of magnitude is a qualitative change. Computers bring changes of six orders of magnitude. If similar scaling applied in the auto industry, we'd treat [autos] like Kleenex.”
12. Stanford's B220 had 10,000 words of memory, which was the maximum addressable in four digits.
13. R. Braden (author) and Breed both have original assembly listings of the BAC. A poor-quality facsimile of the BAC assembly listing is available at http://bitsavers.org/pdf/burroughs/electrodata/ 220BALGOL_listing_May61.pdf. Amore useful facsimile is available at http://archive.computerhistory.org/resources/ text/Knuth_Don_X4100/PDF_index/k-1-pdf k-1-u2196-balgol220compiler.pdf; this includes not only the compiler itself but also the standard library and several important auxiliary routines.
14. E. Feigenbaum interviewer, “Donald Knuth, Oral History,” Computer History Museum, Mar. 2007.
15. D.E. Knuth telephone conversation with R.Braden, 2009.
16. W.M. McKeeman, “Peephole Optimization,” Comm. ACM, vol. 8, no. 7, 1965, pp. 443-444.
17. In BALGOL, multiplication was actually represented by a period.
18. B220 assembly code might have been expected to be six instructions.
19. In fairness, we should note that IBM's Fortran compilers devoted great effort to optimize the use of their machine's index registers. Because the B220 had only a single index register, register assignment was not a problem for the BAC.
20. M. Conway, “Design of a Separable Transition Diagram Compiler,” Comm. ACM, vol. 6, no. 7, 1963, pp. 396-408.
21. By dint of advanced age and experience rather than superior programming skills.
22. The 7090 compiler included many assembly language “external procedures” to optimize critical code and to bridge the differences in machine architectures.
23. H. Bratman, “An Alternate Form of the ‘UNCOL Diagram,’” Comm. ACM, vol. 4, no. 3, 1961, p.142. See also http://en.wikipedia.org/wikiTombstone_diagrams and http://scifac.ru.ac.zacompilers, chapter on “Compiler Construction and Bootstrapping.”
24. The term “phase” might be misleading; the twophases in fact ran concurrently, using a coroutine linkage.
25. Many academic articles on compilers during this period assumed that the intermediate language would be Reverse Polish. For example, see Conway's “Design of a Separable Transition-Diagram Compiler.” It is difficult today to assign credit for first noticing this, and we do not recall where we got the idea. It just seemed obvious.
38 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool