
My computing career began with a
slide
rule, a Keuffel & Esser Log-Log
Decitrig, during my high school years (1956-59). Algorithms, although
they weren't call that, were necessary to effectively use this
instrument. Logarithms, powers of 10 and a strong sense of how much
precision was embedded in a calculation were constant companions when
using a slide rule. This slide rule remained my primary computational
tool until my senior year at the University of Florida.
During my senior year at Florida (1962), where I majored in physics, Professor Harold V. MacIntosh as part of a classical mechanics class encouraged me to investigate use of the then mighty IBM 709, perhaps the most advanced of the vacuum tube generation of computers in general use. It was equipped with 32768 36 bit words of memory which had a 12 microsecond cycle time. Memory reference instructions took 24 microseconds while floating arithmetic operations and integer multiply and divide were in the 200 microsecond time range. Even though its performance is anemic by present standards, it still is the most visually impressive system I have used. An interesting differential equation (to one undergraduate physics major), a charged particle in crossed E and B fields, soon succumbed to Runge-Kutta integration implemented in FORTRAN and a little FAP. A page from the line printer provided adequate plots. The deck of cards describing this program coded approximately 30 K bytes of data. One run a day was considered acceptable. I was forever hooked by the combination of numerical algorithms and the digital computer.
My initial lab assignment as a grad student in the Duke University Physics Department was writing data analysis programs for more senior students (1963-64). A minimal version of FORTRAN on the solid state IBM 7044 was the facility used. Memory for this first generation solid state system cycled in 4 microS . The 7044 used an internal 2 of 5 code representing a single decimal digit consequently it was architecturally a decimal machine internally, not binary. A word was 10 decimal digits and "core dumps" were in decimal! This particular system had 10K 10 digit words of memory. Punched cards and batch service were still the norm.
By the time I was in the data gathering and analysis phase of my own Ph. D. research project (1966-67), Duke had combined resources with other institutions in the North Carolina Research Triangle to sponsor a regional computing center and I wrote PL/1 (and JCL) for an IBM 360/75. Punched cards and voluminous listings were still the primary means of communications but a self service "remote batch" station provided a significant step towards interactive access.
From Duke I moved (1968) to AT&T Bell Laboratories in Holmdel, NJ. Interactive graphics using a Bell Labs developed interactive graphics system, the Graphics II, powered by an 8K 18 bit word Digital Equipment Corp. (DEC) PDP-9 was my center of attention. I wrote a SIC layout program using (and extending, at times) this system. The programming language was a macro assembler cross compiled on a GE 635 timesharing mainframe. The PDP-9 operating system implemented virtual memory using a program in a GE 635 to provide the backing store. Object program transfer from the 635 to the PDP-9 was done with punched cards. Run-time data communication between the PDP-9 and 635 was implemented using a 2000 baud modem. The 635 ran the General Electric GECOS system, not MULTICS, and provided my initial experiences with interactive computing. Hands-on use quickly became my favorite way of using computers.
Approximately 1973 our group obtained a PDP-11/45 which was immediately put into service running UNIX, one of the earlier systems adopting UNIX outside of the research group that created it. UNIX has been my preferred way of approaching computers since this time. The 11/45 was in many ways a modern computer. It was configured around a bus, ran the multi tasking memory protecting UNIX system and was programmed in C and shell scripts. This small system (256 kB of core memory and 80 Mbytes of disk) supported software development and word processing for a group of researchers. Graphics, computer vision and robotics were the areas providing me reason to program. My crowning achievement with this system was a program that cataloged the contents of 6000 by 6000 pixel astronomical images.
In due time (1978) a VAX 11/780 replaced the 11/45 and was itself replaced by a legion of Micro Vaxes (1982). Email came into common use during this early part of this period using the UNIX-UNIX dialup protocols followed quickly by a true LAN interconnection. Direct wiring of a terminal to the vaxen was at a blazing 9600 baud. Dial-in connections were at 300 or 1200 baud. Along the way I learned to program without massive listings from the compiler.
Sun II (& III) diskless work stations became the rage in the late 1980's and worked well as long the associated file servers were not too heavily loaded.
In 1985 I obtained my first true desk top PC, a 128k Macintosh. It had a (floppy) disk, almost as much memory and considerably greater CPU speed than the 709 but seemed toy-like compared to our UNIX systems (and the old 709). WYSIWYG word processing was quick and intuitive even if it didn't offer all the features of the macro language TROFF word processor with its collection of preprocessors.
Moore's Law was well known in the 80's and continues to hold. Present desk top systems approach the capabilities of super computers of 10-15 years ago. In retirement, my home computer is a 2.8GHz Intel based system with more RAM and disk capacity than I could have imagined when I left the old Bell Labs in 1989. In spite of this exponential increase in raw computing power, software functionality continues to defy this same Moore's law with present systems only slightly more useful to their users than early versions of GUI based programs. GUIs, C++, JAVA and a host of scripting languages provide the programming environment. The INTERNET and World Wide WEB gives life to Vannevar Bush's vision while Runge-Kutta is still a standard way of integrating differential equations.
A few Web sites are referenced in this note. More complete historical information can be found at the following sites. The Computer Museum offers a detailed timeline of computing developments. The Pierce Computer Collection contains much information about older mainframes. The online encyclopedia, wikipedia, is an excellent starting place for information about computer systems and topics not given explicit links.
I would like to find details of and references to some of the older hardware, especially the PDP-7/9 and the IBM 7044, mentioned in this note. I have a few manuals for the IBM 709 and 7044 systems but in my rush to newer and faster systems, most of the reference materials for the older systems have been discarded. If you can help, please send me a note.