Short Disclaimer: I’m sort of underqualified to write about this subject. I’m in no way an expert on the programming books subgenre. But I do read a lot. And all avid readers know the real magic of reading isn’t solely in the information conveyed. So when I throw out a few shekels for a programming book, I do it not because I need a brisk SOS code snippet or a forgotten syntax injection–I’d scurry off to Stack Overflow or trusty Google for those– but because I want to meet someone who’s doing the very thing I’m undertaking. I want to see what she deems important, what she thinks a new developer really needs to know, and how she can be a helpful guide through this whole thing.
A Few Quick Thoughts on What Makes a Good Intro Programming Book
Writing an IPB must be really, really tricky. The only largely straightforward part is the accuracy of the content. In programming there are myriad dos and don’ts that you just have to do and don’t. These draconian, codified rules, be it on syntax, declarations, etc of whatever language, framework, library, etc being written about, for the most part have to be all but nailed, it’s really a don’t-pass-go situation if they’re not.
But then there’s the issue of what kind of IPB will be read linearly. Most of them are treated as reference guides or textbooks (i.e. you only read what you need). But a cover-to-cover IPB demands a kind of carefully thought out triage. And but at the same time being too modular in design can hinder the experience of the reader, it can leave her feeling like every chapter/section/what have you is almost ontologically separate, which can make the whole experience draining and confusing and imbue a mental anhedonia similar to what it feels like to spend extended time with someone you find really boring. Great IPBs are structured kind of like memoirs. Episodic but also concatenated. Conversational but concise. Firm but humble and democratic and collegial. It’s not easy. I think any IPB worth its salt treats the reader as a companion rather than an empty vessel.
The worst thing an IPB can do is occlude a reader in a way that demeans her and forces her to reconsider the venture of learning programming. Unlike other books whose subjects are more approachable to the layperson, programming is in its appearance abstruse. Unlike most popular-science books, for example, it’s pretty tough to go into a programming book cold and not feel sort of like what zero-gravity feels like; part of the reason for this is that unlike physics or philosophy the concepts of introductory programming aren’t all that mind bending, it’s really more the fact that programming is akin to learning a new language–now imagine an introductory Spanish book written completely in Español, that can be what a bad IPB feels like.
I know these summaries below don’t sound like what book reviews are supposed to sound like. The point of these summaries/reviews are to help you mitigate what I think can end up being a really insidious part of reading IPBs, which is that upfront the information itself is in a real way not as important as the tact and rhetoric the author employs, the methods with which they transfer this information, and many times the developers who write these IPBs aren’t sensitive to that. The whole book kind of ends up feeling like a distended list. To a novice programmer or a layperson programming can seem like magic and while this is partially some of its allure, IPBs have a certain unfair responsibility to let the reader know it isn’t esoteric or some transcendental revelation. It’s sad to think that there are probably many bright people who wanted to see what programming was all about and got asphyxiated by a book that seemed to have almost a kind of contempt for the reader, like stooping down and explaining the basics was somehow a miserable task or, almost as loathsome, a boring one.
These selections aren’t the remnant of winnowing a large pool of books nor are their inclusion strictly meant to indicate the quality of the programming content, rather they are books I’ve personally found that meet a healthy portion of the prenominate criteria–there’s only two covered in this post; there will be more in subsequent posts. The ambit of this post is simply to provide a small list of books that won’t cause headaches, dull moaning, righteous anger, and/or mechanical keyboard smashing.
You Don’t Know JS
Six Books Totaling 1142 pages for an average of 190.33 pages/book
 Henceforth IPB.
 N.b. I never know whether to use the term coding or programming. So I flipped a coin and coding lost.