Although I use the word "books" everywhere in this post - I completely encourage ebooks and I believe they will and should replace printed books, especially in this post.
Also, this post will have a lot of links to Amazon. It's not that I love Amazon so much, it's just that it was easiest to find the books there (also cheapest). If you want the source for most of these great books go to Addison Wesley .
Today we cleared up one of the store rooms in the office, and inside we found a treasure. Two boxes filled with technical books!!!
Another programmer and I immediately reviewed our findings and placed them on two shelves (please forgive me for the poor image quality, my phone's camera is terrible).
Me and the other programmer quickly stacked all the books we are interested in to the bottom-right. And I just hope I'll have enough time to read everything I am interested in!
Reading technical books ain't easy. It's can be boring, long, and difficult to understand. To be able
to keep reading and finish them I've taken a habit of reading a few
pages each day. (Some days I read more, but every day I read at least 1
Now, you might think "What can a 10 or 20 years old book still teach in a field that changes so rapidly, and I admit that most of these books are a bit out of date (Visual Basic 6, SQL Server 7.0, Internet Explorer 5). However, some of these books are timeless and will be relevant for many more years to come. These books are still relevant today as they were when they were
written years ago, and I highly recommend reading them.
In my opinion timeless books can be placed into two groups (not necessarily disjoint). Books about how technology is built, and books about principles.
Books about technology are books like The C++ Programming Language (However, you better wait for the new edition coming out February 2013) and Java Server Programming. These may explain how to use the technology, but they also explain in great detail how the technology is built and why it acts the way it acts. If you want to really understand a technology (and not just find snippets of code on the Internet), these types of books are for you.
On the other hand, books like Refactoring, How Debuggers Work, Code Complete , Design Patterns and Compilers: Principles, Techniques and Tools teach about principles. They may display examples in a specific technology, but they are not limited to it. They teach you how to approach and solve problems in certain field, regardless of what you are programming in.
These types of books are why books aren't dead. They may incarnate as ebooks (which will be much better for us all, imagine your books instantly updating to the latest edition!), but there is no better way to really understand something as opening a good book about it.
Is there any book you guys think I should add to my reading list?