BKHKRPNT.RVW 20041023 "Hackers and Painters", Paul Graham, 2004, 0-596-00662-4, U$22.95/C$33.95 %A Paul Graham %C 103 Morris Street, Suite A, Sebastopol, CA 95472 %D 2004 %G 0-596-00662-4 %I O'Reilly & Associates, Inc. %O U$22.95/C$33.95 800-998-9938 fax: 707-829-0104 nuts@ora.com %O http://www.amazon.com/exec/obidos/ASIN/0596006624/robsladesinterne http://www.amazon.co.uk/exec/obidos/ASIN/0596006624/robsladesinte-21 %O http://www.amazon.ca/exec/obidos/ASIN/0596006624/robsladesin03-20 %O tl i rl 2 tc 2 ta 3 tv 1 wq 3 %P 258 p. %T "Hackers and Painters: Big Ideas from the Computer Age" The preface states that this book is intended to explain to non-computer people what goes on in the world of computers. I'm not quite sure why Graham thinks he's done that. There is very little in the book that explains the computer "world" with all its ramifications. Possibly the closest he comes is to give a bit of a glimpse into the mind of one particular programmer and entrepreneur. I was really prepared to like this book, to begin with. I mean, a guy who starts off by stating that " ... innovation and heresy are practically the same thing" can't be all bad, and anyone who can work C. S. Lewis quotes into a book on technology is doing OK. Chapter one is an insightful examination into the fact that "nerds" are generally unpopular, particularly in school. As a former school teacher, I have to say that Graham's characterization of school society as having a lot in common with prison society is more valid than most people are comfortable accepting. I agree with Graham initial position in chapter two: we do not yet know the form that programming will finally take. But I do not feel he proves his contention that structured programming is completely wrong. After all, he himself points out that programs should be readable, and structured programming provides an environment that supports the documentation and clarity of thought that produces such code. In chapter three the author challenges us to examine our own thinking, but his techniques are not necessarily useful. If you decide what someone in search of "cool" would reject from his parents' values, what does that indicate about who is right? It has, in fact, been noted that incompetent people are not competent to determine their own incompetence. And what is the point of this proceeding? Simple mental agility? A good thing, yes, but is it truly a big idea? Hackers are an unruly bunch, but they are hardly the automatic fascist detectors that chapter four makes them out to be. Server-based software has the advantages that chapter five points out, but those blessings have downsides, too: you can release as often as you like to improve the software, but you will annoy users who liked it as it was. I can agree that wealth does not equal money, but much else that is stated in chapter six sounds like a free enterprise fantasy, and seven is even more so. Chapter eight is basically an opinion that statistical or Bayesian spam detection is the best, and seems to ignore the fact that fraud is not the only ill that spam creates, what with the drain on bandwidth and resources it consumes. Good design is beautiful, but chapter nine neglects the fact that many times the better product does not win: Graham includes an odd return to support for disparities in pay, and thus implies that the marketplace will identify the elegant solution. Chapter ten's explanations of aspects of programming are clear, but because they are extremely selective the overall impression would likely be misleading. Non-technical readers will probably believe that they understand what the author is saying in chapter eleven about the design of a properly timeless programming language, but I doubt that they will comprehend the full implications. (One of which is that, contrary to his earlier statement, assembly language is best.) Graham says in chapter twelve that he likes the Lisp programming language. In chapter thirteen he derides Pointy Haired Bosses for not understanding technology, but still insists on explaining, to this presumably non-technical audience, the advantages of Lisp in terms of extremely technical aspects such as the internals of the language and relative code sizes. Chapter fourteen describes the ideal programming language--from Graham's perspective. More good things about Lisp are listed in chapter fifteen. Graham certainly hasn't explained the world of computing, and he hasn't even recounted all that much about programming. His arguments, such as they are, lack compulsion: just because his startup succeeded does not mean either that Lisp is a good language or that he created wealth (as opposed to obtaining it at someone else's expense). There are some interesting points in the book, but the purpose of the work escapes me. copyright Robert M. Slade, 2004 BKHKRPNT.RVW 20041023