If you learn a music instrument you have to learn riffs, licks and songs. No teacher will ever say “Here are all the chords and scales. Go into the world and make people happy” Does not work.
But in software development sometimes it seems to look like that universities show you algorithms and data structure and the syntax of a specific language and say you are done – save the world with your code.
In the last couple of years more and more people look at software development as a craft and call it the software craftmanship movement.Diomidis Spinellis is an adherent of this movement. In his eyes to become a master at your craft you have to look at other masters over and over again. With his book Code Reading he shows us how.
398 Pages accumulated source code study. He shows basic elements of programming languages with linux programs such as echo, ls and cat. He demonstrates software architecture with large open source projects like Tomcat and good code documentation with the Apache Webserver.
But this book is not only about code, there are also chapters about version control and build process tools, as well as databases and UML modelling.
At the end of every chapter there are exercises which encourage you to dive into more open source code. You have to grep, compile or improve code along the way. For example:
Why can’t the echo program use the getopt function?
You definitely cannot read such a book in one weekend. It is more like a travel guide which helps you to discover new country and landscapes. Please take your time to do all the exercises.