Since I have become an author, I have learned a few things about books. One of the more surprising is that there are very few books that are completely worthless. Unfortunately it is very common for people to buy the wrong book for them.
Over the years I have purchased literally hundreds of programming books (there are 114 on my shelves right now). Unfortunately there were many times that I did not like the book I bought. I felt like I had wasted my money. I felt cheated.
Thinking more about the problem, however, I realised that few of the books were actually bad, they just were not for me. Many of them contain what I consider 200 pages of material squeezed into 600 pages. I don't like that. I have been programming for more than 15 years and I don't like wasting my time on gentle introductions to topics. I want the facts presented clearly and logically with no jokes or amusing anecdotes about the authors' vacations. Yes, I have seen programming books that include this sort of fluff. I read programming books to be informed. I read other books to be entertained.
On the other hand, not everyone can take that level of information density. Some people like their programming interspersed with amusing stories. Most people need to be walked carefuly through a topic the first time they see it. If you have never encountered algorithms before, you do not want to read a graduate-level text on heuristics for NP-complete problems. It can be like trying to take take a sip of water from a fire hose!
The problem is, it can be hard to tell if a book is for you before you have risked a bunch of money on it. Here are some facts and tips that may help you in making this decision:
I hope this rambling helps. Please send me your comments and other book buying tips. Noone wants you to buy a book you will hate. The bookstore doesn't, the publisher doesn't, and I know from personal experience that the author doesn't. All of these people make money only if you are a satisfied customer who comes back for more.
In the last few years, there has been an annoying trend in book marketing. With the rise of the super bookstores, many publishers feel their books will be lost on the shelves. These stores carry almost every current book on a subject. They may have more than 100 different Visual Basic books. This, combined with the fact that bookstores no longer make special book displays very often, means the publisher feels they need to grab attention by making very large books. I have half a dozen books that are more than 1,000 pages long but that have only 400 or 500 pages worth of material. Unfortunately the big page count also leads to big prices.
These huge books tend to work on a publisher basis. Go to a bookstore and look at what publishers produce which books. My publisher, John Wiley & Sons, does not use this trick. I know when I pick up one of their books, the author was trying to cover a topic, not meet a page count. Certain other publishers, however, are notorious for this. This does not mean all books by one publisher are good and all those by another are bad, but it does explain why one publisher wants $50 for a 300 page book while another wants only $30 for a 600 page book.
Carefully examine big books (and all books) looking for fluff content. Do they really have that many pages of material? Do not buy in pages per dollar.
Different publishers also have different standards. Some have extremely good copy editors that carefully review the text to make sure it is readable. Others send what the author writes directly to the press. Sometimes the writing can be quite distracting. When you read one of these books, remember who the publisher is. You may see more of the same from them in other books.
If you cannot find a book in a local bookstore, ask if they will order it for you without obligation to buy it. Many bookstores (in the US, at least) will order a book and let you look at it before you buy. If you do not like it, they will either put it on their shelves or send it back to the publisher.
Amazon.com and other online bookstores provide good discounts. Unfortunately you cannot examine the book carefully before you buy. However, Amazon provides reader comments and ratings. These can be extremely valuable in deciding whether a book is worth buying.
I always check Amazon's reviews before I buy a book, but you need to take these reviews cautiously. One particularly dangerous pattern is a book that has lots of great reviews and one terrible review. This probably means the book is fine, but that one person bought the wrong book for him. He needed a more advanced book, or one that was easier to understand, or sometimes about a completely different topic. Be careful with this book, but don't let that one review ruin it completely for you.
Consistently average or poor reviews are obviously a bad sign. If 5 readers say a book was terrible and one says it was great, it is probably terrible. The odd reader may have very strange tastes or may be a friend of the author's (or even the author!).
Amazon and other online bookstores offer nice discounts, but they can be eaten by shhipping charges. You can reduce shipping charges by buying several books all at once and specifying that they should all be sent in one shipment.
Overseas shipping charges can be high. I shopped a book to Greece and the shipping cost almost as much as the book. Look for local distributors. Amazon has outfits in the U.K. and Germany. There are probably other bookstores elsewhere. Know how much shipping is before you order the book.
If you do not like a book, return it right away. Online merchants and your local bookstores value your goodwill more than a single sale. They want you to be happy so you will buy again. If they cannot sell the book to someone else, they will return it to the publisher so they do not lose money.
Just a small voice from a non-programmer with a habit of buying program languages and associated expensive books. I have read your comments [in How to Become an Expert Programmer] with interest. I'm not a programmer and strongly doubt that I have the stomach to be one. But other than having an immense desire and a lot of time to learn programming, and perhaps some professional assistance, I don't think that training to become an expert is made particularly easy from the start.
Take the "learn X in 21 days" series, these are expensive and poorly developed, though from the number of pages you would think that they would be comprehensive (just take a look and see how many of these books spend most of the pages dealing with explaining the UI rather than how to do programming).
I've just started with the VB6 learning edition and was impressed with the introductory CBT but within a very short while found myself asking some serious questions - database handling for one, very little was dealt on the subject and your left to wade through masses of verbals in the online help.
What I would like to see is a series of training books called "No Frills Training on X" that just stuck to the facts without a lot of pleasantries and unimportant stuff like half a book on the UI. Then maybe I could retain my enthusiasm long enough to learn one of these languages. (Ps I'm not a computer nurd like I'm afraid most programmers seem to be, so assimilating manuals is a slow process)
[I have actually tried to sell this idea to my publisher. A series of small, perhaps 100 page, books on very specific topics: how to print, how to use a simple database, etc. Unfortunately these books would be fairly expensive for their length so my publisher feels they would not sell. I think you need at least a couple hundred pages these days. -- Rod]
I agree that sometimes the hunt for the great book is a hard journey but,
if for nothing else, the learn xx in 21 days books do allow future
programmers a glimpse at what they may need to know without scaring them to
death which is what the high tech book could easily do.
I will admit that I have bought a few to see if this is what I am really
As a frequent purchaser of programming books, I first have to decide as specifically as possible of what I have to do--as opposed to having to go into a store as a casual purchaser. I like to read any reviews on the book and, if possible, get an idea of who the author(s) are and what they have done. The most obvious and easiest way to do these things is through the NetCheck to see how RECENT the book is. Even though current books are pretty thick these days, I love the idea of them coming with CD's attached, which almost certainly come chocked full with some extra articles code, tools, etc. Once you start browsing, have key word phrases in your mind, look and see if you even see those phrases mentioned either in the Table of Contents or the Index. The table of contents is a very good way to browse a book's subject matter in seconds, IMHO.
My experience has led me to the following conclusions:
Well, that's my shekel's worth.
Be very wary of books written by more than two authors.
Each author is usually assigned to a particular topic
and the end result is a book with fragmented logic. Just
when you get used to a particular author's writing style,
you must then adapt to the next ones writing style. I
have found this to be very irritating.
Look for a high quality publisher.
Publishers like Prentice Hall, Wiley, Addison Wesley,
or any publisher who also publishes text books for
colleges and universities is almost always a safe bet.
These types of publishers have highly trained editors
and reviewers who can easily spot a hacked together
manuscript and generally demand that their authors have
a good background in the subject matter.
When checking out the reviews at Amazon, I usually discard
both the highest and lowest rated reviews and pay attention
to the mid-range reviews. Of course this is not always
possible - all of Rod's books are highly rated! And I
recommend all of his books to every VB programmer.
Be cautious with books that promise to teach you all
there is to know about a wide range of topics. I have
found that these types of books just skim the surface of
each topic. You would be much better off finding books
that deal exclusively with a particular topic in depth.
Also make sure that you have the hardware and software
requirements for practicing with the code in the book.
Does the book require Windows NT?? Does it require the
Professional version of VB??
I check the Bibliography of books that I consider good for example Deborah
Kurata's Book Doing Objects in VB series. I don't need all of the books she
recommends, however, she usually tells which books are a must. So far she
has been right on.
I'm also in a "frequent programming books buyer's club".
If I see the book in the store that I'd like to buy - before I pay
for it I'm always checking Amazon.com - for the reviews. If I like
what I see the next step - "Half price book store". Quite a few
times I found the new book that just came out of print in the "Half
If you have book buying tips you would like to share,
send me email!