of PCs, but the revolutionary nature of Individualized computing “individualized computing” was clearly anticipated in Nelson’s book. For this reason, it is helpful to define Personal computing “personal computing” as an interactive experience with computers that may include users on time-sharing systems as well as individuals using microcomputers or later personal computers.
Figure 2.6Detail of Ted Nelson (reclining) with members of the Project Xanadu group, 1981. (Photo from the collection of Ted Nelson and used with his permission)
Like Whole Earth Catalog, Computer Lib/Dream Machines is a compendium of information, organized in eclectic fashion around loosely-connected themes. The book’s two titles are a reference to the way that the author presented his material—in overlapping, intertwining sections. In essence, there are two books bound together in one volume. You read Computer Lib to the book’s mid-point or “pivot” page, and then you flip the book and read Dream Machines until you reach the end of Computer Lib. It is not necessary (or even useful) to read the book sequentially, however; the seemingly random organization of topics serves to emphasize the interconnected nature of information and its mystical intertwingularity, a term Nelson coined to express the complexity of interrelations among all forms of human knowledge.26 For these theoretical ideas, Nelson is also recognized as a seminal figure in modern information theory and design. Computing mythologiesintertwingularity
As a document reflecting America’s technology culture in the mid-1970s, Computer Lib/Dream Machines projects a positive, upbeat vision of computing society, but it also finds space for diatribes against IBM, U.S. intelligence agencies, the incompatibilities of computer systems, commercial television, “cybercrud” (computer jargon that serves to confuse), and the “ticking time bomb” of global population growth. (For more on the last issue, see Bob Albrecht’s contemporary programming primer in Chapter 4.) Like the Whole Earth Catalog, Nelson adopts a countercultural point of view, but he offers technology as a way to improve the world, not abandon it. For Nelson, computers have fortuitously appeared as the next iteration in a long line of textual devices that have the potential to inform communities, expand the mind, and reunite people with their literary heritage. Interestingly, there is a strong liberal arts emphasis in his writing, evidenced through his deep appreciation for the classics of literature, art, history, sociology, psychology, biology, and mathematics.
Nelson came of age in the 1960s, and he knew firsthand about the “crisis” mythology surrounding corporate and government computing. He also recognized that the world of computers and software was changing rapidly. The 1974 edition of Computer Lib/Dream Machines envisioned a revolutionary computing context to be a terminal connected to a time-sharing system, providing interactive access to the mainframe’s software and data resources. In the 1987 version of the book (see Figure 2.7), Nelson revised his presentation to introduce the wide range of computing technologies, including the Altair microcomputer, the Apple II, various IBM PCs and compatibles, the Macintosh, new minicomputer systems, and platforms running CP/M, MS-DOS, Unix, and Macintosh Finder. Regardless of the device, however, Nelson argued that computers only become revolutionary when the user was put in charge of the device and its resources. An important aspect of this command and control included computer programming. “The world is divided,” Nelson intoned, “into people who have written a program and people who have not.”27
Inspired by his influence, Stewart Brand described Ted Nelson as “the Tom Paine of the PC Revolution.”28 Nelson spread the message that corporate computing had become paternalistic and compartmentalized to the point that users had been removed from the decision-making process. As a result, computing in America had become “an atrocious tangle of excellent incompatible pieces, well-intentioned Computing mythologiesintertwingularity incompatible junk, and inexcusable incompatible junk.” Like many visionaries, Nelson pointed out both a crisis and a solution:
Figure 2.7Computer Lib/Dream Machines, 1987 Edition, by Ted Nelson. (Used with permission from Microsoft)
We have to end this chaos. We have to re-unite the things that should never have been separate. We have to make it work for everybody. It is time indeed for real computer liberation.29
2.6The Computing mythologiesbirth of computer science Birth of Computer Science Computer science
Ted Nelson emphasized liberating computer users and fixing software problems at an important moment in the history of computing. Although his ideas struck a different tone than many of the dominant paradigms in corporate computing, we should not try to separate his critiques too dramatically from earlier principles in the history of technology. This is an important caveat as we work to untangle the many strands of intellectual and cultural life that contributed to America’s programming culture in the 1970s and 1980s. To understand why this is so, it is instructive to examine a few related developments that were taking place in the burgeoning discipline of computer science.
In the 1960s, as the Beatles invaded and IBM produced computers that put astronauts into orbit, the discipline of computer science emerged in universities across America. In a sense, this new academic field offered an institutional response to the radical changes that were taking place in the research labs of Cambridge, Massachusetts, and the San Francisco Bay Area. For those not steeped in academic teaching and administration (I have now worked as a college professor for 20 years), it is perhaps helpful to emphasize how daunting it can be to design and administer a new academic program—both for those who want to develop new fields of inquiry in a university setting, and for those outside the university who hope to benefit from a degree program and hire its graduates.
Most of the early digital electronic computers were not built by people that we would call “computer scientists.” If the inventors who worked on computers were connected to universities at all, they came from the departments of Mathematics, Physics, Electrical Engineering, or Psychology. Often the computers were created by partnerships between academic institutions and government agencies. If financial support did come to the universities involved, they spent the money on new computing centers, research labs, student-faculty research teams, or other administrative projects. The first American universities to benefit from this type of support included Harvard, Princeton, Massachusetts Institute of Technology (MIT) Massachusetts Institute of Technology (MIT), Carnegie Mellon, the University of Pennsylvania, and Stanford. Despite the funding for computer-related research, however, actual courses in programming and computational logic were rare. When they did take place, they were distributed widely across the university. For example, a course in Formula translation (FORTRAN) FORTRAN programming might be as likely in a physics department as in the mathematics department or the school of engineering.
During the 1950s, some momentum was established to begin a new academic discipline called “computer science” that might take up the theoretical analysis of computers and formal computing methods. In this context, Computing mythologiesbirth of computer science the Computer science world’s first computer science degree program may have been the Cambridge Diploma in Computer Science, initiated at the University of Cambridge Mathematical Laboratory (UK) in 1953. This is the location where the pioneering Electronic delay storage automatic calculator (EDSAC)stored-program computer EDSAC stored-program computer was first developed, and the new degree program was devoted to understanding and expanding this important system. (See Figure 3.5.) I will introduce the inventors of this computer and the first programming primer written for the system in Chapter 3.
In 1959, Louis Fein published an article in the newly-minted journal Communications of the ACMAssociation for Computing Machinery (ACM) suggesting that computer science should be introduced as an academic discipline wherever universities could support it, including within the U.S.30 According to Fein, the goals