This post is first in a series we call "Coding by the Book." Its companion posts are 5 Tips for Learning How to Program From a Book and The 7 Books Every Software Developer Should Read.
Yes, it’s true: dead trees can still be a great resource for learning how to write code or sharpening your skills as a developer.
The real question is, how do you choose the right book for your needs? Fortunately, there are a few things to look for that can help you sort through the innumerable books on the market. And there are a few classic tomes I recommend for almost anyone interested in computer programming and software development.
Quick tips for assessing a programming book
The best place to start your assessment of a programming book is in the table of contents (TOC). If the specific topics you’re trying to learn don’t appear anywhere in the TOC, then you can assume that any coverage the book contains will prove too cursory to be very helpful to you.
Next, scan through a couple of chapters to see how they’re organized. Some authors settle for just one or two approaches to explaining a topic, which isn’t always helpful. The best books offer three or four approaches to learning a topic, including hands-on exercises, source code, detailed explanations, and procedures.
Check out section introductions. Introductions that are long and dull could indicate a book that contains a lot of fluff you may not need. On the other hand, when the introductions are too short to fully introduce the material, you may find that the explanations lack needed detail and will leave you more confused than when you started reading.
A good index is also essential. Look up a few keywords that interest you. If they don’t appear in the index, you probably won’t be able to find them in the book either. A great index not only contains the keywords you need, but also organizes them in such a manner that you see other places to look for related information.
Finally, consider the author of the book. Professional authors are paid to write well-researched, organized, and focused books. While not always the case, collaborations written by three or more authors can sometimes lack focus, distract you with multiple writing styles, or even contain conflicting information.
How to avoid the duds
Buying a book based on the title or cover alone is probably the worst way to go about things—and yet there are plenty of programmers who buy their coding books this way. About the only truly useful information you can get from the cover is a quick overview of the author’s credentials and a general idea of what the book is about.
Book reviews can offer suggestions about whether or not a book is a valuable resource. However, remember that any review is an opinion, and that opinion may not match your own. It’s also important to be aware that some reviews may have been seeded—the reviewer may not have actually read the book and is merely acting as an agent for someone else.
It’s also important to choose a programming book based on the value of that particular title, not simply based on the reputation of the publisher or the book series. Every publisher can produce duds and even the best series can include books that don’t measure up to the others. Buying a book based only on who published it is seldom a guarantee of quality or applicability to your needs.
Finally, beware the bestsellers. Bestselling books often jump out at you when you’re perusing the bookshelves, either in a physical bookstore or online. Books may be listed in a bestseller list because they are exceptionally well written. But sometimes books hit bestseller lists because the publisher has put a lot of marketing dollars behind them. So relying on bestseller lists alone is not always the best way to determine if a book really is the ideal resource for your needs. Use your best judgment and consider all the other factors.
Computer/books and top image courtesy of Shutterstock.com.
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.