This is a guest post from M. Schilling. He shares with us his views on the inspiring book Hackers & Painters: Big Ideas from the Computer Age. What can we get out of this book, how to become a better programmer and some other goodies ...
Hackers & Painters
I have just finished reading Hackers & Painters - Big Ideas from the Computer Age by Paul Graham. This book consists of an interesting collection of essays that are all independent of one another.
In 15 essays Graham covers a wide range of topics centered on computers. The first half of the book is much about social theory and politics, while the latter focusses more on computer science in general.
If you are a programmer (or hacker, as how Graham likes to call it) yourself, you will find a lot of moments of recognition (e.g. "Yep!", or "So that's why.."). That's one of the things I like about the book, and it makes reading it easy.
How to benefit from this book?
As a programmer, this book will bring you a lot of good thoughts and insights. Some of the ideas might not be totally new to you, but Graham writes it is such a way that you will find it interesting and it will make you think about everything a lot more (which is, by definition, not always desirable ;-)). Simply put: this book will affect the way how you look at your daily programming tasks and projects.
How to become a better programmer?
You will not find direct answers in this book. However, if you read very carefully you will find out that the answer is there. Andy Hertzfeld is quoted on the back cover of the book, saying "He may even make you want to start programming in Lisp" and that's probably one of the things you'll have to do. I believe that, on your way to become the best programmer, you have to know about different programming languages and dare to admit that some languages are more powerful than others.
Don't get stuck in your own comfort zone keep saying that your programming language is the best, but keep your mind open for new suggestions.
Why not try a couple of (totally) different programming languages for a few weeks and make them do the same job. When you're done, try to classify the high level languages for yourself, from less
powerful to more powerful. It's the process of doing so, that will help you on the long term to become a better programmer.
Conclusion and what's next
If you're interested in the field of computer science, or even if you're just curious about the topic "why are nerds unpopular on high school", I can recommend you to read Hackers & Painters.
A video resource I can recommend is the TV mini-series: Nerds 2.0.1: A Brief History of the Internet. Enjoy this series, and try to find out yourself, how it relates to the chapters in this book (e.g. "Good Bad Attitude", "How to Make Wealth")
You can find more info on the author's page on the book at paulgraham.com.