By Harry McCracken | Monday, November 29, 2010 at 12:40 am
Writing about music, a famous, impossible-to-properly-attribute saying goes, is like dancing about architecture. In 2010, anyone who dares write a book about computers runs the risk of facing a variant of this conundrum. The Web is so good at conveying information about technology that it’s hard to recall an age when the default medium for any discussion of computers more ambitious than a magazine article was a static, difficult-to-update, not-necessarily-illustrated printed volume.
But that era existed. The best books about computers were enormously successful, and many of them were really good. They deserve to be celebrated.
When I sought out tomes for this list, my goal was to identify ones that were interesting, influential, and of lasting significance. (Two thirds of the ones I ended up picking are still in print, including at least a couple that are theoretically obsolete.) I relied on my own excessive library and solicited advice from my Twitter pals, who both confirmed some of my choices and reminded me of contenders I’d forgotten about. Along the way, I decided not to include works of fiction (someone should write “The Ten Greatest Computer-Related Novels,” but that someone isn’t me).
The earliest book here came out in 1968; the newest one was first published in 1999. I didn’t set out to exclude works published in recent years–it just worked out that way, and even though I’m not arguing that new computer books are obsolete in the 21st century, I think the focus on the past makes sense. (Chris Anderson’s The Long Tail is a very good book, but we’ll know it’s a great one if it’s still in print and still being talked about in, say, 2027.)
The works that follow are listed in chronological order. As in “The 25 Most Notable Quotes in Tech History,” I’ve also listed each book’s Googleosity–the number of references to it on the Web, as determined by a Google search. It’s an imprecise but telling indicator of each work’s lasting impact.
Author: Donald Knuth
Published: 1968 (first edition of first volume)
Still in print? Yes
Googleosity: 254,000
Why it matters: The Art of Computer Programming isn’t exactly Programming for Dummies. For one thing, all examples are presented in MIX, an assembly-language-like programming language of author Knuth’s own devising; to understand this multi-volume work, you’ve got to learn a new programming language which you’re not going to use in the real world. For another, it runs to more than 3000 pages even in its current, incomplete form. But its essential usefulness is reflected in the fact that people still care about it more than four decades after the first release of its first volume. It’s a little as if a car repair manual that originated in the Model T era was still widely read and respected–and was still a work in progress.
And you don’t have to actually read TAOCP–or, for that matter, be a computer programmer–to be fascinated by it. Knuth’s Web site is a treasure trove of intriguing stuff, including his explanation of why he stopped using e-mail twenty years ago, information about his offer of a $2.56 bounty for errors found in his books (and why it’s now paid as a deposit into a fictional bank in an imaginary country), and much more.
TAOCP also led to the creation of an important piece of software. In 1977, unhappy with the quality of the typography in the proofs of the second edition of its second volume, Knuth created TeX, a sophisticated digital typesetting system that continues to be used to this day, particularly for technical publications and those full of mathematical formulas.
Bill Gates once said that anyone who had actually read all of The Art of Computer Programming should send him his or her résumé. But nobody’s yet read it in its entirety, because it isn’t done yet. Three complete volumes have been published to date: volumes one, two, and three in 1968, 1969, and 1973, respectively. All have been released in updated editions, and five fascicles (sections) of volume four have been published in recent years. Knuth says he’s working nearly full-time on volume four these days, has started work on volume five, and may write volumes six and seven. Long may the series–and its author–wave.
Author: David H. Ahl
Published: 1973 (as 101 BASIC Computer Games)
Still in print? After many years of unavailability, it’s back! It was just republished as an e-book
Googleosity: 11,000
Why it matters: If you used computers in the 1970s, chances were high that you wrote much of your own software in BASIC. Much of the software you didn’t write, you typed in from listings in magazines and books. And no source of BASIC programs was more important than BASIC Computer Games, which was edited by Creative Computing founder David Ahl and was the first computer book to sell a million copies.
The first version was published by Ahl’s then-employer, Digital Equipment Corporation, and the games it contained were designed to run on the company’s minicomputers. The 1978 Microcomputer Edition was beloved by owners of Apple IIs, Radio Shack TRS-80s, Commodore PETs, and other early machines–who not only had to type in the games and stomp out any typos, but also tweak the code as they went to conform to their particular microcomputer’s flavor of BASIC. (TRS-80 owners eventually got a custom version of the book, published by Radio Shack itself; there was also a sequel, which came in both Microcomputer and TRS-80 editions.)
What sort of games did the book include? The classics! Such as Nim, Hammurabi, Mugwump, and–with permission from Paramount–Super Star Trek. (I misremembered the legendary Hunt the Wumpus as being in there as well, but it was actually part of More BASIC Computer Games.) None of them had graphics, unless you count pictures composed of alphanumeric characters, and all were pretty, well, basic. But if you weren’t there, trust me: they were a blast.
Author: Ted Nelson
Published: 1974
Still in print? No, sadly (but you can download a PDF of an extended chunk of it here)
Googleosity: 24,300
Why it matters: Theodor Holm Nelson is most famous as the creator of Xanadu–the original hypertext/hypermedia system, which he’s been working on for fifty years–and for having coined the words “hypertext” and hypermedia” along the way. Xanadu remains unfinished, and, though it rankles Nelson, seems to have been preempted by the existence of the Web.
Computer Lib/Dream Machines, on the other hand, was completed more than thirty-five years ago, and it exudes evidence that it sprung from the same endlessly creative brain as Xanadu. It’s two books in one: Flip Computer Lib (an introduction to computers, with the subtitle “You Can and Must Understand Computers NOW”) around, and it becomes Dream Machines (an overview of computer graphics and hypermedia). Together, they make up a manifesto about the user of computers for creative means that’s still inspiring.
Both “books” consist of brief essays, in a variety of typefaces with handwritten annotations and doodled illustrations. They’re opinionated, full of invented words such as stretchtext and fantics, and remarkably prescient given that Nelson wrote them shortly before the first rudimentary PCs appeared. It’s not just the discussion of hypermedia that’s visionary: He also discusses gesture-based input, virtual reality, undo features, and an array of other things that eventually came to pass, or surely will in the years to come.
Nelson’s book had become something of a historical artifact even when Microsoft Press released a new edition in 1987. Paradoxically, it’s also still a rewarding read for anyone who cares about the future of technology: Just last month, blogger Dave Winer bemoaned its unavailability and tried to jumpstart a new edition . And Nelson continues to write books. His recent Geeks Bearing Gifts, a history of the personal computer, has some of CL/DM‘s playful, poetic inventiveness.
Author: Tracy Kidder
Published: 1981
Still in print? Yes
Googleosity: 143,000
Why it matters: This is probably the most highly-regarded computer-related book ever published–I mean, I love DOS for Dummies, but if it won a Pulitzer Prize or the American Book Award it’s news to me.
Kidder, one of the grand masters of the art of narrative journalism, tells the tale of a group of employees of minicomputer maker Data General and the birth of the company’s Eclipse MV/8000 machine. Soul was instantly acknowledged as a classic, and it’s held up extremely well, whether you consider it a business book or a story that reads like good fiction but happens to be true. If you want to give a behind-the-scenes book about the computer business–or any business–the highest praise, there’s still no bigger compliment than comparing it to The Soul of a New Machine.
At the time Kidder did his writing and reporting, the minicomputer business was booming and Data General was one if its leading lights. When the book was published, the microcomputer revolution was underway. And within a few years, the minicomputer business and nearly every company in it began to crumble. (Data General held on better than most, but it was acquired by EMC in 1999.) All of that brings a certain poignancy to the book when you read it today–but the characters and themes are as pertinent as ever even if the technology isn’t.
Author: Peter McWilliams
Published: 1982
Still in print? No
Googleosity: 24,300
Why it matters: Eight months after he wrote and published The Word Processing Book, McWilliams produced a similar, even better-selling tome called The Personal Computing Book. But The Word Processing Book is the more fascinating artifact. It dates from a period when one of the most common questions people had about computers was “Why should I use one to write rather than sticking to my trusty typewriter?” McWilliams answered the question and recommended specific early-1980s models–from the Coleco ADAM to the Teleram T-3000–but he did so in a profoundly rambling, idiosyncratic style, rife with self-referential asides, jokes, woodcut illustrations, old ads, cartoons, and other supplemental material.
McWilliams wasn’t the first person to prove that how-to prose about computers could be lively and entertaining rather than dry and technical, but his self-published books hit bestseller lists, attracted attention from the mainstream press, and converted doubters such as William F, Buckley. They’re spiritual ancestors of the Dummies series, but with a much stranger, more personal feel. (It’s hard to imagine a large publisher having faith in his uninhibited style.)
For a while, McWilliams was a one-man industry devoted to books about word processing and other aspects of the burgeoning personal-technology industry: He wrote a special edition of The Word Processing Book for KayPro computers, Questions & Answers on Word Processing, and Word Processing on the IBM PC. He passed away in 2000, having moved on to write more general self-help bestsellers such as Life 101. (He also became a medical marijuana activist.) But if there was a McWilliams guide to Word 2010, it would be a good read for sure.
Author: Peter Norton
Published: 1983
Still in print? Yes, in a variant called Peter Norton’s New Inside the PC
Googleosity: 68,200
Why it matters: He no longer writes books or magazine articles. He’s not in the software business, either–and for the last few years, he hasn’t even posed for software boxes. But for a couple of decades, the image of a bespectacled, arms-crossed Peter Norton was synonymous with the fixing of busted PCs.
Norton’s first book was Inside the IBM PC (later known as Peter Norton’s Inside the PC). It was the definitive plain-English, nuts-and-bolts guide to motherboards, processors, disks, other components, and the software the PC used to make them all work together–an enormously valuable resource back in the day when typical PC users had to worry more about their machines’ innards. It went through nine editions and was followed by numerous other Norton books, most of which involved coauthors. (Judging from the experience of a friend of mine who cowrote one of them, writing a book with Peter Norton pretty much meant writing a book–one with a photo of Peter on the cover.)
Norton’s books were bestsellers, but he made his fortune with his software company. He sold it to Symantec way back in 1990, and gradually left geekdom behind for philanthropy, art collecting, and other worthy activities. Inside the PC was last updated in 2002, and while any book about computer hardware written close to a decade ago is by definition horrendously out-of-date, the basic concept remains powerful.
1 2 3 NEXT PAGE»
November 29th, 2010 at 6:28 am
K&R 2?
I'd argue it's nearly as important as Knuth, or maybe even more so. This skinny little tome (still in print, and still sold for an exorbitant price) is the most perfect guide to a computer language I have ever read. Short, to-the-point, and it assumes you are neither an all-knowing genius nor a moron.
November 29th, 2010 at 7:02 am
Absolutely! I read it while in college many, many years ago, and I have yet to read a book about computer languages that competes with it.
November 29th, 2010 at 7:07 am
Two candidates:
'The Structure and Interpretation of Computer Programs' – MIT's intro book, published in 1985, turns out to educate generations of advanced developers, through the present, and even the future (functional programming)!
'The Psychology of Computer Programming', published in 1971, addressing the fact that programs are written by people and that should be a consideration. I'd argue this prefigures and helped start what's now known as 'Agile'.
November 29th, 2010 at 7:17 am
There’s a book about programming in Python — I don’t recall the title — that also does a good job of helping you understand programming in general. Python’s still going strong, and the book’s underlying teachings help with other languages too.
Wish I could recall the title.
Good list. Lots of nostalgia seeing those covers. Ah, the ‘Macintosh’ book — a more innocent time at Apple, no?
November 29th, 2010 at 8:01 am
My three choices would be:
The "Dragon Book" – "Compilers: Principles, Techniques, and Tools" (Aho, Sethi, Ullman) , the compiler design bible. http://en.wikipedia.org/wiki/Dragon_Book_%28compu…
"Computer Graphics: Principles and Practice" (Foley, van Dam, Feiner and Hughes), the computer graphics classic. http://en.wikipedia.org/wiki/Computer_Graphics:_P…
"The Unix Programming Environment" (Kernighan & Pike). http://en.wikipedia.org/wiki/The_Unix_Programming…
November 29th, 2010 at 8:13 am
K&R "C Programming Language" is the single most important computer programming book ever written. http://www.amazon.com/Programming-Language-2nd-Br…. My dog eared version one (nicknamed the Bible) saved my life during CS 321 – Data Organization and Management.
November 29th, 2010 at 8:40 am
I second the vote for K&R's "C Programming Language" and I would suggest "Inside Macintosh" as much more important than the Macintosh manual listed.
November 30th, 2010 at 10:45 am
Yeah, K&R's C Programming Language!
November 29th, 2010 at 10:44 am
I, too, believe K&R's C Programming Language book is more important than most of the books on your list. In addition, you haven't mentioned The Mythical Man-Month: Essays on Software Engineering by Fred Brooks – it ranks right up there with K&R
November 29th, 2010 at 1:36 pm
I'll second that.
November 29th, 2010 at 11:40 am
I'd nominate "Alan Turing: The Enigma" by Andrew Hodges. Fascinating biography with excellent portrayal of the late pre-history of computing.
November 29th, 2010 at 1:35 pm
I always liked Starting FORTH: http://books.google.com/books?id=CvnuAAAAMAAJ&…
November 29th, 2010 at 10:58 pm
"On the Edge: The Spectacular Rise and Fall of Commodore" by Brian Bagnall.
November 30th, 2010 at 12:40 am
Algorithms + Data Structures = Programs – Niklaus Wirth
Programming Windows 3.1 – Charles Petzold
November 30th, 2010 at 2:48 am
A true "classic" that is missing: The Peter Norton Programmer's Guide to the IBM PC (aka, "The ugly pink shirt" book) http://www.amazon.com/Peter-Norton-Programmers-Gu…
(In this edition the pink shirt is FAR better than the original)
November 30th, 2010 at 4:28 am
I miss "The mythical man-month" by Fred Brooks. It still beats all courses and certifications in IT-projectmanagent.
BTW the posting should be titled: the greatest computer books of the distant past
November 30th, 2010 at 4:19 am
Peopleware, Object-oriented design heuristics, GoF design patterns, and the list could go on. I really don't understand why several of the books are on the list.
November 30th, 2010 at 6:28 am
I have to agree with you on that @ GoF Design Patterns…. Another one that may be of value to a lot of developers out there is "Algorithms: In a Nutshell"…
Just my 2 cents :)…
November 30th, 2010 at 5:25 am
Logic, Algebra and Databases by Peter M Gray – you not only get the fundamentals of databases but also how they connect to algebra and logic in a deep way. Given that the crux of the business is data, not algorithms or machines, the rest of the topic is just a series of footnotes to Gray's wonderful book.
November 30th, 2010 at 7:12 am
The Mythical Man-Month (Brooks)
Design Patterns (Gof)
Object-Oriented Software Construction (Meyer)
Domain-driven design: tackling complexity in the heart of software (Evans)
November 30th, 2010 at 7:27 am
Code Complete? Although perhaps the author did not want to be too programmer heavy…
November 30th, 2010 at 7:38 am
I also nominate Kernighan & Ritchie – The C Programming Language. For me at least, it was (and is) a powerful influence not just on C but on how to write a book on programming. Maybe there are just so many young programmers out there these days that use Python, Perl etc that they just haven't read it. Even if you have little interest in C itself, the book is a treasure. I still have my 1st edition with the $15 price tag on it. <grin>
November 30th, 2010 at 8:27 am
DOS Power Tools, Paul Somerson. http://www.amazon.com/Dos-Power-Tools-2nd-Revised…
The only Computer Book I ever read cover-to-cover… twice. All the other books in my computer shelves I just use for reference.
When I was a noob and DOS 3.1 was cool, and the 386 was cutting edge this book helped me understand where it all came from and how to survive with a massive 640-KB of RAM and 20-MB Hard Drive.
November 30th, 2010 at 1:41 pm
Structured Programming – Dahl, Dijkstra, Hoare 1972 – the little black book
November 30th, 2010 at 8:39 pm
The Architecture of Concurrent Programs, per Brinch Hansen, 1977 (and 1975 papers on Concurrent Pascal) – he invented Classes and thus Objects
Introduction to Automata Theory, Languages, and Computation, Hopcroft & Ullman (1970?) – merging Ring Theory and Chomsky's grammar work to make compilers practical
Software Tools, Kernighan & Plauger (1976) – thinking in terms of software legos
The greatest book never written was the results of Xerox Parc, "just" a wave of papers in ACM, spawned Ethernet, Mice, & Windows (& PostScript, etc)
December 1st, 2010 at 4:42 am
Where's "Code: The Hidden Language of Computer Software and Hardware" and "Programming Windows", both by Charles Petzold???!!
December 1st, 2010 at 7:37 am
Code Complete is the most obvious missing one
December 2nd, 2010 at 11:53 am
THE IBM Personal Computer from the Inside Out
by Murray Sargent and Richard L. Shoemaker
Only of historical interest now, but it was a great introduction to the original PC, for those who wanted the technical details.
Is there a modern equivalent?
December 2nd, 2010 at 7:45 pm
Two must-includes:
– The Psychology of Computer Programming – Gerald M. Weinberg (1971) – "… the first major book to address programming as an individual and team effort, and became a classic in the field … this book remains a must-read for all software development managers" (J.J. Hirschfelder, Computing Reviews)
– How to Set-Up and Maintain a Web Site (Original Edition 1994) Lincoln D Stein – The Bible of the first webmasters
Also getting my vote: Software Tools – Kernighan and Plauger (1976) – not only the fundamental work on "how to write programs that make good tools, and how to program well in the process", but also a joy to read for the lucidity and elegance of its style.
December 4th, 2010 at 3:28 am
About half of these are sitting on my bookshelf. 🙂 I'd have probably included The Dragon Book and Thinking Forth.
December 11th, 2010 at 8:16 pm
I'm not sure I would have been as successful at computers if not for my first programming text book in college. It was called the "A FORTRAN Coloring Book" by Roger Kaufman.
It really made learning FORTRAN fun and interesting.
Bill
December 11th, 2010 at 8:25 pm
And if you're looking for real nostalgia…
the first computer book that really made me think about the big picture and the first ever to reference dangers of a computer virus check out the 1977 novel, "The Adolescence of P-1"
Bill
December 21st, 2010 at 7:03 am
Ahl's Book was of course both widespread and monumental. I found an archive the ported BASIC code, and fired up Hamarabi. But If I were to pick two, aside from the C Programming Language, I would pick: "Algorithms + Data Structures = Programs – Niklaus Wirth " Sheer brilliance, and forever changed the way I coded. Elegance forever! and "The Architecture of Concurrent Programs, by Brinch Hansen, 1977" made accessible the ability to write and understand Operating systems written in Higher level languages. Fundamentally far beyond brilliant, I would say that book was the most influential book since the work of Grace Hopper.
December 21st, 2010 at 11:58 am
Timeless successful books:
Mythical Man-Month, Fred Brooks
Design Patterns, GoF
Peopleware, Tom DeMarco
Rapid Application Development, Steve McConnell
Code Complete, Steve McConnell
Art of Computer Programming, Donald Knuth
Debugging the Software Development Process, Steve MacGuire
Computer Graphics, Foley, Van Dam, et al..
December 22nd, 2010 at 1:37 am
Hey Great list of the top computer books. Being a computer geek I loved it.
July 6th, 2011 at 12:10 pm
These were some great computer books. I remember when the dummy books were first introduced. I use to study from "HTML for dummies" and they were always fun! These are endless classics for the IT fan boy. Orlando Wildlife Removal
October 19th, 2011 at 11:45 am
What a great article, I found this to be quite an enjoyable read.
San Antonio chiropractor
October 31st, 2011 at 3:55 am
Thanks for sharing this powerful article with us. I've been doing some research for my own link building service business, and I found your article by accident.
November 4th, 2011 at 4:30 pm
It is great of you to share such an informative post. Keep it up speech language pathologist salary
November 15th, 2011 at 1:07 am
ASSE
Thanks for writing this blog post, it was informative, enjoyable, and most importantly – a good length!