Hackers & Painters

28 07 2006

Just finished reading Paul Graham‘s book “Hackers & Painters“. Highly addictive, I read most of it in three long sessions. Presented ideas are thought-provoking, so even if you don’t agree with Graham, it’s still valuable to read his essays. Actually you don’t have to buy a book to read most of them, as they are available online on his homepage. I’ve listed all book chapters here for convenience:

Chapter 1. Why Nerds Are Unpopular
Chapter 2. Hackers and Painters
Chapter 3. What You Can’t Say
Chapter 4. Good Bad Attitude
Chapter 5. The Other Road Ahead
Chapter 6. How to Make Wealth
Chapter 7. Mind the Gap
Chapter 8. A Plan for Spam
Chapter 9. Taste for Makers
Chapter 10. Programming Languages Explained
Chapter 11. The Hundred-Year Language
Chapter 12. Beating the Averages
Chapter 13. Revenge of the Nerds
Chapter 14. The Dream Language
Chapter 15. Design and Research

Probably most provocative chapter for Python programmers is Revenge of the Nerds, where Graham describes programming languages history and their slow way towards Lisp. Then he shows a simple accumulator function example implemented in different languages and compares the resulting codes for readability. Surprisingly Python doesn’t come off well.

In the rivalry between Perl and Python, the claim of the Python hackers seems to be that that Python is a more elegant alternative to Perl, but what this case shows is that power is the ultimate elegance: the Perl program is simpler (has fewer elements), even if the syntax is a bit uglier.

For me, comparing programming languages by some code examples is nothing more like a funny game, much like famous evolution of a programmer.