This week, I finished a new book : The Pragmatic Programmer, from journeyman to master, written by Andrew Hunt and David Thomas.
According to the author, reading this book will make you a better programmer, a pragmatic programmer. A pragmatic programmer is a person who loves its work and who always want to improve it. He wants to improve its skills and to learn new technologies. He doesn't only code, he wants to provide better and better code.
This book don't focus on any language, it can be useful to programmer of every language.
I don't advice this book to complete beginners because this book contains a lot of different ideas that can discourage neophyte because of the lot of works they must provide to become a real pragmatic programmer.
You will learn several very important things in these books :
- Have a pragmatic philosophy : Assume your responsibilities, don't let broken windows appears, fix issues as they come, make quality software, improve your knowledges, communicate with other persons, ...
- Adopt a pragmatic approach : Duplication is Hell, Orthogonality is Heaven, use tracer bullets and prototype when starting projects to achieve your objectives
- Use the good tools : Use good editors, automate all that you can, construct a set of tools for your usage
- Be paranoiac : design by contract, use exceptions, ...
- Don't go to deep in your errors
- Make your code better and better while you're coding, consider the speed of algorithms
- Before the project, get the good requirements, specify as good as you can
- Create a pragmatic team
Like you can see this book provide a long list of advices, that is not always easy to read and to understand. I've made a lot of pauses, re-reading a passage to have a good understanding of the whole lot.
I''ve found all the advices very good and interesting and I think that applying these advices will help me to make better work.
But, I must say that some chapters have not aged well. Especially, on tools. The authors advice to use only tools like plain text editor and shell commands. I think that with the power of modern IDE we can save a lot of time.
But this little default expected, this book is a great book, a must read book, that every programmer should read once in its life.
More informations on the website of the book : http://www.pragprog.com/titles/tpp/the-pragmatic-programmer