Review of 'Hackers & Painters: Big Ideas from the Computer Age'

Hackers & Painters: Big Ideas from the Computer Age by Paul Graham

hackers_painters.jpg Full disclosure: I have a Computer Science degree so occasionally a book will attract my attention at a professional level as was the case with “Hackers & Painters”.

The book is a collection of standalone articles covering various aspects of not only computer science but also about sociology often saying more about society itself in early chapters than he does about hackers. Though the later chapters start delving a bit more deeply into computer topics, specifically discussing the computer languages used by hackers (the term used here in the sense of those interested in how computers work rather that any sort of malicious intent, a point the author discusses in the chapter “Good Bad Attitude”). Throughout the text there are pointers to notes that can be found at the end of the book that provide additional explanatory text. Also at the end is a helpful glossary and exhaustive index.

The interesting underlying premise of the signature chapter “Hackers & Painters” is that computer hackers share much the same properties as painters in creating what can be, effectively, works of art. Not an entirely unexpected hypothesis from an author who has both a Ph. D in computer science from Harvard but also studied painting at the Accademia in Florence.

The book begins with “Why Nerds are Unpopular” in which Graham delves into the very fabric of modern society in the flaws inherent in the education of it's youth. The view of the world our youth have because of the shielding they have from the reality of the world and the sense of entitlement this fosters. For example, as our children are just given money they have little concept of his value leading to ideas such as universal income or monetary equality. In “How to Make Wealth” he explores this further in discussing how wealth is not equal to money but rather to the value we attach to an individual's worth and how, frankly, some people provide more value and so, therefore, deserve the money their wealth generates. In “Mind the Gap” he suggests that the “unequal distribution of wealth” is more a symptom of the value we attach to some individuals over others and is to be expected in a market-driven economy.

In “Taste for Makers” he talks about how taste is not, as most suggest, subjective but rather something that can be quantified as he then attempts to demonstrate with a series of axioms that he believes underlies good taste or, rather, design that is in good taste.

In “A Plan for Spam” Graham discusses an approach to the email spam issue which has all but disappeared in modern computer systems. This is interesting in that it reminds us how important this topic was only a few years ago.

In the final sets of chapters he goes into computer scientist topics such as “Programming Languages Explained” (an introduction to computer languages and how they work as well as a brief history), “The Hundred Year Language” (what aspects of computer language have the potential of lasting a very long time), “Beating the Averages” and “Revenge of the Nerds” (both discussing how the use of different technologies - going against the flow - in your business strategy may give you a commercial edge), and “The Dream Language” (what aspects of computer language are the most important). Throughout these sections Graham is very obviously biased towards the use of the (generally academic) computer language Lisp which he used in developing the company “Viaweb” (a non-technical web hosting service for companies) that eventually was sold to became the basis of “Yahoo! Store”. He suggests of Lisp's key features is it's ability to define “macros” with the definition of “macro” being code that is able to generate additional code in the interpretation process. He belittles much of the technology that survives, and thrives, to this day specifically Java. To be fair he acknowledges that computer languages are only tools and that those that survive will be those that are actually used by hackers. Language designers should try harder to understand that a tool is only useful if it helps (not merely an academic exercise), that is, makes code shorter, easier to understand and is, of course, powerful.

The final chapter “Design and Research” is a slight anti-climax but sumarises many of his points throughout the book about how good design does not have to be original but good research does with the best design has aspects of originality (hearkening back to his use of Lisp in Viaweb). He suggests that iterative development is key rather than “big bang” and that you have to be able to see what you are doing as you are doing it in order be enthusiastic in it's development.

Other than Graham's obvious biases (e.g. an obsessive interest in computer languages and in particular Lisp) much of what he has to say here is quite interesting and well thought out. Often those of us in the business do not think about some of these topics so it is interesting to see them explored here. I can't say that many outside will find the book interesting other than the first few chapters which are a thought-provoking critique of society in general.

Rating: “Really good but I have some issues”

Review Date: 2017-08-13

Genre: Non-Fiction

Publisher: O Reilly

Publication Date: 2004

ISBN: 0596006624