Choosing a good book on programming

Published on 2007-12-14. Modified on 2016-04-02.

This is a small article on how to choose a good book on programming. The same method can be applied to other areas as well. It should be noted that the described method is my preferred method, it is not a universal method.

Choosing a good book about a particular programming language from severals books on the subject can be difficult.

Some people like to look at reviews, but I find reviews more or less useless. Just because a book receives a good review doesn't mean that it is actually good from your perspective. Book reviews are the same as movie reviews - they are just other peoples opinions. Some people like it while others don't. Reviews only work, if you know for sure, that the person who is doing the review has the exact same taste and level of understanding as you.

What really matters is the method of teaching in the book. The method which the author uses must fit your way of thinking and understanding. This is the most important part.

Of course it is also important that the author actually knows what he's talking about, but the author doesn't necessary need to be a master of the programming language. Skillful programmers tend to be less good writers, they think technically and uses terms that are difficult to understand.

Often I find that small useful and practical online tutorials are much more useful than a book. After gaining some experience you can then buy a good reference book and then you don't need a particular book teaching you "how to program".

The size of the book doesn't matter, but I have noticed that often the biggest books are the least useful! Some authors make books big on purpose. Not because they need to be, but because they know that many people think that if a book is really big, it must be great and it must contain all the information that is needed. By making the book big with a lot of more or less useless information they can make the book look attractive and they can make the book more expensive.

Books like "The X Bible" or "The Y Bible" tend to be 900 to 1500 pages and they are very expensive, yet I have never found anyone of these so-called "bible" programming/computer books to be useful. A small book on the subject usually goes right to the point with a short and good explanation with a couple of good examples. The so-called "bible" books are always stuffed with useless information.

Some books are very popular, but just because a book is popular doesn't mean that it fits your way of thinking and understanding.

So what can you do?

When I need to choose a new book, no matter what the subject is, I try to gain some basic knowledge beforehand about a sub-subject. If it is related to a particular programming language I would look into something like how to do "conditional statements" in the language. I try to find information online and if possible do some tests. When I feel I understand the sub-subject well, I then have something to compare a book with. I then look at each book to see how it deals with the subject of "conditional statements".

Doing it this way I can compare the way the author explain the subject with the knowledge I already posses. I am then better skilled at making a good decision. If the author explains the subject in a way that I understand really well, and I understand the examples that he uses, then he or she will most likely explain the rest of the subjects in the book in the same manner. I have found that for the most part this is true.

It is important that you look for a book that make use of examples that you can understand and relate to. I personally do not like books that use complicated mathematically problems as coding examples. Even though I like mathematics, and of course you need some basic mathematics in almost every programming language, I am not a mathematician.

I once found a programming book on Java that only used a mathematical problem as an example. Chapter by chapter the author expanded upon the same example that slowly grew in complexity. Even though I understood the programming, I could not relate to the examples and I didn't understand the mathematics that the author used. The examples became completely useless to me, and so did the book.

Always look for a book with examples you can relate to.

A reference book is a MUST if you decide to program in a particular programming language, but a reference isn't the first thing you need. Many times a reference lacks explanation and examples and that's because it's just a reference. On the other hand if you can find a good reference book with examples and a little explanation then that is often the only book you will ever need.

Today many programming languages keep their references online and it is worth studying the reference before you buy a book, if you even need a book.

As a conclusion you can say that a good programming book is a book that: