Book Note: Hackers & Painters
Posted on Thursday, December 22, 2005
at 8:15 PM (permalink)
Paul Graham seems like a very smart person, I'm just not sure he is as smart as he thinks he is. His book is a collection of thoughtful essays on everything from why nerds are unpopular to why expensive watches aren't as reliable as cheap ones. If this sounds like too wide a range for a single book, you are right, but within it there are enough useful insights to make it well worth the time of anyone involved in making software. The two basic themes that run through the essays are Graham's experiences with the Viaweb startup, which was sold to Yahoo!, and the advantages of Lisp over other programming languages. I don't buy his arguments in favor of Lisp, but I found his comments on managing programmers to be right on target.
When a piece of code is being hacked by three or four different people, no one of whom really owns it, it will end up being like a common-room. It will tend to feel bleak and abandoned, and accumulate cruft. The right way to collaborate, I think, is to divide projects into sharply defined modules, each with a definite owner, and with interfaces between them that are as carefully designed and, if possible, as articulated as programming languages. (p. 30)
What I have a problem with, is his tendency to make sweeping generalizations about the history of technology, such as: Desktop computers won [over mainframes], because startups wrote software for them. (p. 78)
Yes, and corporate DP departments weren't able to keep up with the demand for custom applications at the departmental level (dBASE), and word processing systems on PCs were more responsive than dedicated word processing systems on terminals (WordStar), and small businesses could run accounting software on PCs for much less than an account on a timesharing system (Peachtree), and Baby Boomers were just having their first children and wanted computers that they could use for work and to run games and educational software (Apple), and a host of other reasons. Graham may have gotten a Computer Science Ph.D. from Harvard, while I only got a Masters, but mine was in History of Science. After being called simplistic enough times for making statements like his, I learned that there is rarely a single cause for anything, especially in technology. Despite his fondness for historical generalities, I found the book to be a good read and recommend it highly. 
