Steven Levy has written a masterpiece, and I will be forever grateful to him for it. Although when I read it (circa year 2001) computers were much more mainstream than the period this book covers (1960s-80s), the book still broke new ground for me. It was before the blogging era, and especially before all the aspiring hackers of the world "united" via a network of blogs, forums, feeds, "planets" (feed collections on specific topics) and link accumulators like Reddit and Digg. In other words, it was much more difficult for me to find people with interests similar to mine.
Or maybe I didn't look hard enough. This is not the point, anyway. The point is that this book took me "out of the closet" as a hacker, proud of my hobby, instead of wondering whether I'm some kind of an autistic freak. Reading it, I understood two things of utmost importance:
- There were, and there are, many people with my interests and peculiarities. And these are the people that made the computer revolution happen.
- Somehow, Steven Levy managed to explain in words the reason people find computers and programming so fascinating. In some sense it was a revelation. I kept saying to myself "yes, exactly!" and "ahh, now I understand" very frequently while reading the book.
What kept him going was his fascination with the machine, how it let you build complicated systems completely under your control.
I heard people referring to this as instant gratification. Engineering is fun, solving problems is fun, and building solutions is fun - this probably has strong roots in the ancestral humans, shaped by evolution to be smarter than other animals. As opposed to other, more "physical" disciplines of engineering, like electrical, mechanical or structural engineering, programming allows you to actually create real and useful things with a computer as your only tool. An electrical engineer may wait for a long time until his board will be produced, and only then he can "play with it". For a computer programmer, things are much simpler. It is very easy and quick to build systems and use them.
[...] computers were an infinitely flexible artistic medium, one in which you could express yourself by creating your own little universe.
"Code is art" is a very popular notion these days, perhaps coined by Knuth in his "The Art of Computer Programming" books. People do art for fun - they draw, play and compose music, write and design pretty gardens. In this sense, programming is not much different - it is an act of creation and self-expression. It is fun.
As I said, this book is a treasure chest of insightful quotes like the ones above. Levy interviewed most of the who-and-whos in the world of computing from the 1960s in the MIT labs and through the 1980s in the Californian game development companies. In addition to being explanatory of the "hacker nature", the book is also a great historical reference for the early years of computing. How lucky we are these days to have the opportunity to hack so easily. Just a few decades ago, people interested in computers had to use clanky, slow, terminals or worse, batch-processing machines. There are so much free open-source development tools one really doesn't need to spend money on anything further than the hardware - and PCs are cheap and powerful.
I can't recommend this book enough to anyone interested in computing, and programming in particular. As an aid to discovering your internal motivations, you owe yourself to read it.