Nowadays it seems like we are on an information highway and it is very hard to keep up with all the knowledge. Especially this is acute when considering how many websites there are on the Internet and how long it would take you to read and understand them all. However, there is a solution – books offer a way to get condensed information from the field experts and learn a lot of things. Many people think that this is only true for other fields except programming. But I think that is false. In software development, a lot of things are timeless as well and they do not change so often. Let me present this and other arguments in more detail, and try to convince you to pick up a programming book and read it.
Reading programming books or, in general, just any book lets you stand on the giants’ shoulders. Those giants are the field experts who have spent doing the thing that you are interested in countless years. So why would you not want to gather this information that is given to you by these skilled people? After reading a book you can feel more confident that whatever you are doing is right, effective and that it is best decision at hand.
Also, books contain a lot of gems of knowledge. Some these things may not even be available anywhere online anymore and you would have to search a lot for them. Recently I have read an article that tells a story about how many links that were retrieved from an old magazine about the Internet do not work anymore. Well, this illustrates my problem. Those links are dead now and they will probably never be alive again. I am sure that most of the knowledge in there is available on books. Of course, there may still be some useful information that was lost but all the knowledge that is really useful for any situation is available on the books.
Furthermore, such knowledge found in books does not get old. For example, when was the last time it changed how the classical computer works? A person in this field needs to know answers to a lot of questions. Superficially at the very least. How does RAM work? What is the point of types in programming languages? How do compilers work? By reading a book, you would get rich knowledge fast about how to answer this question. You would know how ASTs work, what is the assembly language and so on and so forth. So, you know that you are not just putting pointless information in your brain that will be outdated one or two years from now. A person equipped with classical knowledge that does not get outdated is capable of, for example, picking up any new JavaScript framework faster than the competition because they understand the underlying concepts and they are not afraid when the abstractions leak which is inevitable. In the end we can say that reading programming books makes you a more well-rounded programmer.
What is more, getting information about programming online can be distracting. Nowadays the majority of pages are filled with pop-ups and other annoying things that are just made to get your attention. On the other hand, books have no such thing. You only get the real information that you need absorb without any advert making you divert your attention even if you do not want to. A/B testing with adverts is prevalent these days and thus do not think that you are exempt from this rule.
This brings up my next argument – the books are more dense in information and thus you are better off reading them because you can gain more knowledge faster per time unit. So, unless you want to waste time scouring random web pages for information that may not even be correct (books have a tendency to be correct more often), you should pick up books. Also, this will put you ahead of the competition even more because your typical programmer does not even read 1 book per year.
In conclusion, you can see that there are many reasons why you should pick up a programming book. Obviously, you should not waste time on boring and poor quality books. You should always look at the recommendations of others and their reviews. Thus, I present to you my recommendation list of programming books that I think every budding programmer or enthusiast would enjoy:
“Code” by Charles Petzold – a delightful book for all aspiring programmers. The book starts by presenting how two hypothetical persons can talk remotely and then it gradually builds up to explaining how a computer works.
“Code Complete” by Steve McConnell – you could probably find it in any “top 10” list of computer science books. It is a tome about the software development process – beginning with how it should be organized, and ending with various tips on optimization and variable naming.
So do not hesitate and start reading now.