https://github.com/getify/You-Dont-Know-JS/blob/master/prefa...
https://github.com/getify/You-Dont-Know-JS/blob/master/prefa...
Two decades ago, I was really into learning all the disgusting corners of badly-designed programming languages. I got really excited about C++ implicit conversions and clever template hacks. But that always proved to be a mistake, because nobody wants to read or maintain any of that crap.
These days, I try to focus on the essentials of a language: What works well and portably? What offers unique expressive capabilities that I haven't seen before? What's idiomatic? If I learn any nasty corner-cases, I only do it solve a specific problem, or to avoid pitfalls.
I really can't get excited about the implicit conversion semantics of JavaScript's "==" operator or the weirder points of how "this" get bound in callbacks. It's all just pointless technical arcana. If something neither expands my brain nor solves an immediate commercial problem, I'm happy ignoring it until it becomes obsolete. And my clients are usually a lot happier, too.
(That said, the actual books are nicely written. But you asked about the titles.)
Your code should rarely be clever or rely on the the weird dark corner-case cruft of a language. Too often I see JS code written like an entry in the Obfuscated C contest. Yes, that code can work, but don't do that.
Rather than most books which gloss over the "bad parts", which prevents people from fuller learning and leaves them to their own devices when they run across that stuff in the real world, YDKJS covers all the parts, and tries to use the deeper understanding as a tool and guide to making better-informed decisions about how to effectively write JS.
I think it's entirely unfair to suggest that covering "technical arcana" is the same thing as endorsing it.
I agree with the GP though, on feeling some fatigue around people telling me I'm doing something wrong. Eating food, reading a book, tying my shoes, putting on a shirt. Anyhow it seems like you've just touched on that area a bit for this person. Experts don't like for Dummies books, not because they are rubbish, which they might be, but because owning or reading them visibly puts into question their knowledge and challenges their self image. In the same way someone might find your title a challenge to their knowledge, instead of seeing that you're interested in highlighting often overlooked things about JS.
For the love of God please don't put a giant headed person on your cover though. I've come to terms with every other book series having a positive quality with the exception of "Head First" and their distorted human cover photos. /rant
We all have our ticks when it comes to books and advertising around things we love.
These are what the covers of all the books in the series look like:
http://shop.oreilly.com/product/0636920026327.do
------
side note: my kickstarter for the books, 2 years ago, playfully used the bald head image to catch people's attention (never the intended branding). I soon afer got a friendly lawyer takedown notice from the folks who own the game. We worked it out, and the new branding was born. :)
Not sure who your target market is but as a professional developer who writes javascript daily, "The Tough Parts", piques my curiosity and sounds like an interesting challenge. "You Don't Know JS" evokes a more negative reaction.
That said, from a marketing perspective, they've got a great unique cover and a solid series title. If more than the original 5 come around in the future, they'll be easy to identify.
The point isn't the quality of your work. It's your hook that's failing at least some of us to the point that you are potentially missing out on part of your target audience by default.
I did have lengthy discussions with my book editor about the title and its potential to be off-putting to some. We wrangled with the decision awhile, but ultimately came to the conclusion that most would find it a mix/balance of playful, attention grabbing (in a sea of "JS: The Handy Guide" type titles), and challenging.
The title itself is supposed to be equal parts a joke and a serious commentary on what I consider to be a disturbing trend in JS specifically, which is either a false sense of confidence or (worse) an apathy to not care about what is not known.
Again, thank you for your thoughtful response and your feedback. I do regret that it's hit you the way it has. Perhaps at some point you may give it another shot.