Figure 1.5Michael Halvorson working in his office at Microsoft Corporation (1990). (Photo courtesy of Michael Halvorson)
During my job interview at Microsoft, I was shown a testing (beta) version of Microsoft Windowsversion 1.0 Microsoft Windows 1.0. It was not very impressive at the time, but the new graphical operating environment for IBM PCs and compatibles would eventually become an exciting platform for many users, programmers, and commercial software publishers. My first work was at Microsoft Press, the book publishing division of Microsoft, founded by Gates, Bill Bill Gates in 1983 to provide technical support for computer enthusiasts who were frustrated by the poor quality of software manuals. In the early days of personal computing, product documentation was often little more than printouts assembled in a three-ring binder, and there was not much in the way of computer-based help or training for PC users. From these humble beginnings, a major publishing industry took shape. It came to include bestselling magazines like PC Magazine, Macworld, and Compute!, as well as the computer book publishers Howard W. Sams, O’Reilly, Osborne McGraw-Hill, Que, Microsoft Press Microsoft Press, Sybex, and IDG Books.
Our work at Microsoft Press was to help self-taught programmers and those who used Microsoft’s business applications to get the most out of their software. I edited books, worked with independent authors, attended industry trade shows, and (beginning in 1986) started writing Do-it-yourself (DIY) do-it-yourself (DIY) computer books about using operating systems and programming languages. I was lucky that my university training required a healthy dose of the liberal arts along with my computing classes. Both fields of study prepared me to tackle substantial research and writing projects in the years to come, and they were valued in the book publishing division.
The Learn-to-program movement learn-to-program movement was something that I saw first-hand while working with Microsoft’s customers and authors. In particular, there were fascinating people to learn from at computer industry trade shows, especially COMDEX COMDEX and Macworld Expo Macworld Expo. (See Figure 1.6.) In 1989, I co-authored the book Learn BASIC Now with my colleague and friend, Rygmyr, David David Rygmyr, and the book was carefully edited by Sheppard, Megan Megan Sheppard and Magee Jr., Dail Dale Magee, Jr. (also employees of Microsoft Press). Our programming courseware included a full-featured version of the Microsoft QuickBASIC Interpreter for MS-DOS on three 5.25” disks, and Bill Gates wrote a Foreword to the book recalling his personal connection to Altair BASIC BASICAltair BASIC Altair BASIC and his interest in using BASIC as a unifying language across computing platforms. (See Chapter 5.)
Learn BASIC Now sold many copies and it was selected as a finalist for a national book award in the computer book “How To” category. Our self-study guide clearly intersected with the powerful demand for programming instruction, and the low-cost QuickBASIC Interpreter made the product relatively inexpensive for newcomers. Over the years, I wrote another 15 books about software development, mostly for self-taught programmers and those who wanted to learn the newest features of popular products like Microsoft Visual Basic Microsoft Visual Basic or Microsoft Visual Studio Microsoft Visual Studio. Through the books, I was actively connected to publishers, software development teams, user groups, academics, journalists, literary agents, and a wide range of computer users—many of whom would write or email us directly for help.
1.6Programmingmanifestos of movementManifestos of the Movement
Despite my positive interactions with new programmers, I gradually learned that I was only a small part of the third or fourth wave of technical writers who had spread the message about computational literacy and learning to code in the years since the introduction of the first computers. Preparation of Programs for an Electronic Digital Computer was published in 1951 by Wilkes, Maurice Maurice Wilkes, David Wheeler, and Stanley Gill to instruct readers on how to formulate machine code for the revolutionary EDSAC computer at the University of Cambridge.14 Grace Mitchell, Daniel McCracken, and Elliott Organick also wrote creative programming primers Programming primersfor FORTRAN for Formula translation (FORTRAN) FORTRAN in the late 1950s and early 1960s, introducing non-specialists to programming.
Figure 1.6An exhibitor badge from the COMDEX/Fall ’90 trade show in Las Vegas, Nevada. (Photo courtesy of Michael Halvorson)
In the era of time-sharing systems and early PCs, a new wave of programming advocates supported the movement. These were pioneers like Albrecht, Robert Robert Albrecht and Finkel, LeRoy LeRoy Finkel, who participated in the People’s Computer Company and the Homebrew Computer Club in Menlo Park, California. From the beginning, these visionaries understood that not only did people need to buy computers and start programming, but they needed to learn how to program through books, materials, and social interaction. These computing innovators wrote fascinating programs and produced several best-selling computer titles, but they have largely been neglected in the history of computing. A new book by Joy Lisi Rankin, A People’s History of Computing in the United States, is an important exception to this lacuna, and Rankin demonstrates how Albrecht and his contemporaries inspired thousands of programmers to appreciate the benefits of BASIC.15
Also important in the 1960s and 1970s were the pioneering efforts of the educational theorists Luehrmann, Arthur Arthur Luehrmann, Papert, Seymour Seymour Papert, Cynthia Solomon, and Feurzeig, Wally Wally Feurzeig, all active in the computing hotbeds of Cambridge, Massachusetts and Greater Boston. Luehrmann coined the term Computer literacy “computer literacy” and encouraged students to learn structured programming with BASIC and Pascal Pascal. Papert, Solomon, and Feurzeig co-developed the Logoprogramming system Logo programming system at the MIT.Massachusetts Institute of Technology (MIT) Massachusetts Institute of Technology (MIT) Massachusetts Institute of Technology (MIT), and they wrote about its potential to teach computational thinking to children. Also, from the era of time-sharing systems, Ahl, David H. David Ahl, an early DEC employee, published tutorials that advocated for the use of computer games to teach programming concepts. My favorite of Ahl’s titles is 101 BASIC Computer Games, published by DEC in 1973. This book is filled with mimeographed program listings that Ahl received in the mail from BASIC users across the U.S. It was one of the first bestselling computer programming titles, selling tens of thousands of copies to novice computer users, hobbyists, academics, and working professionals.
Many of the earliest manifestos of the learn-to-program movement were sold out of VW vans and dusty boxes in computer clubs. However, this DIY world was also on the fringes of the professional software development community, which took its energy from debates within the nascent software Engineering movement engineering movement and the emerging discipline of computer science. The standard-bearers in this field created the computers, operating systems, and programming languages that would fuel the academic and commercial worlds of software development in the years to come. Readers learned about their important discoveries through conferences and influential computer