Hacker News new | ask | show | jobs
by ekidd 4143 days ago
Nope, it still doesn't work for me, personally. I never played "You Don't Know Jack", and so I tend to interpret your title literally. And your title implies that no matter how much somebody knows about JavaScript, it's not enough.

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.)

1 comments

This. "Technical arcana" is exactly right.

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.

The books point all the arcane points of the language so that the reader can understand them. They're also full of commentary like "never do this".

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 never once mentioned your books Kyle. I actually enjoy the parts that I've read. I was making a broader point that I have witnessed with the JS community: using technical arcana in production code as if it was a good thing. Just one example: https://github.com/twbs/bootstrap/issues/3057