By Collin Allen

Hackers and Painters

March 26, 2005

Hackers & Painters: Big Ideas from the Computer Age is a compilation of brilliant essays by author and Viaweb creator Paul Graham. Covering everything from startups, programming, open source software, web-based software, and more, Graham details the ideas behind technological innovation and the people that make them happen. Hackers and Painters is written in a very down to earth style and clear manner than anyone, not just computer people, can understand.

If you’re at all interested, read the essay Hackers and Painters at Paul Graham’s website, and you’ll be hooked. That single essay is what convinced me to buy the book. If you’re still unconvinced, another of his essays, “Great Hackers”, is available in text form and in audio form at IT Conversations.

Hackers and Painters is a fantastic book that covers a wide spectrum of topics in technology, but links them all together seamlessly. It’s one the best I’ve read in a long while and has significantly impacted my views of programming, business, and design. Here are some choice quotes from the book:

“What do hackers want? Like all craftsmen, hackers like good tools. In fact, that’s an understatement. Good hackers find it unbearable to use bad tools. They’ll simply refuse to work on projects with the wrong infrastructure.”

“What worries [Bill Gates] about Google is not the power of their brand, but the fact that they have better hackers.”

“It’s a mistake to try to baby the user with long-winded expressions meant to resemble English. Cobol is notorious for this flaw. A hacker would consider being asked to write ‘add x to y giving z’ instead of ‘z=x+y’ as something between an insult to his intelligence and a sin against God.”

“It is by poking about inside current technology that hackers get ideas for the next generation.”

“[I]f function is hard enough, form is forced to follow it, because there is no effort to spare for error.”

“In the desktop software business, doing a release is a huge trauma, in which the whole company sweats and strains to push out a single, giant piece of code. Obvious comparisons suggest themselves, both to the process and the resulting product.”

“I think [programming] language designers would do better to consider their target user to be a genius who will need to do things they never anticipated, rather than a bumbler who needs to be protected from himself. The bumbler will shoot himself in the foot anyway.”