8 ms·
"You don't know x." "10 things you didn't know about y." "Everything you thought you knew about z is wrong." Am I the only one that finds titles like this co
by semperfaux 12y ago
"You don't know x."
"10 things you didn't know about y."
"Everything you thought you knew about z is wrong."
Am I the only one that finds titles like this completely offputting? If you think you have insight that's useful to people, try not talking down to them. As it is, hell, I may not know Javascript, but I'm certainly not clicking through.
- M4v3R 12y agoIf the post was titled "In-depth look at Javascript" or something, I might've skip it. This title piqued my interest because I write Javascript for living for a long time and I was genuinely wondering what I don't know yet about the language.
- gondo 12y agoand did you learn anything new? just wondering
- eidyia 12y agolearn something in something you already do as a living new in 17 minutes??? give it a day or two
- M4v3R 12y agoDidn't read the whole thing yet :). But glancing through it it seems that I really have some stuff to learn about Javascript internals.
- imdsm 12y agoLikewise. I'll read the books on Safari Books Online using the work subscription, just to fill in the gaps. I'm pretty sure I will actually learn something.
- inglor 12y agoI've read the book and even contributed a tiny tiny bit with issues in GH (the book is managed through GH). While I didn't learn much I did gain perspective about things so I'd say reading it was definitely worth my time.
- _getify 12y agoJust wanted to say I appreciate any contributions (even "tiny tiny bit") you've made on GH. :)
- nailer 12y agoThere's a bunch of stuff here even folk with a few years may not know. See the generators section at https://github.com/getify/You-Dont-Know-JS/blob/master/async%20&%20performance/ch4.md https://github.com/getify/You-Dont-Know-JS/blob/master/async... Learning JS is very different from other languages in that there's greater amounts of misinformation (lots of people know it, but prefer to use it as little as possible), and it changes faster. For example, in 2015: - you won't find any Python new articles that tell you to use Python 1's 'strings' module - You'll still see things like <script> tag soup, 'JS isn't object oriented', globals and patchable-ES3-isms in new JS articles. Kyle Simpson is a well known JS speaker and O Reilly author - his books are a great source of current best practice.
- CmonDev 12y agoMaybe it's a play on how horrible the language is? E.g. "You don't know what callback hell means. You don't know the horror of refactoring a weakly typed dynamic language. You are truly blessed for you don't know JS."
- aphexairlines 12y agoIt's probably a play on the "you don't know jack" trivia game.
- Silhouette 12y agoAm I the only one that finds titles like this completely offputting? No, you aren't, though FWIW I try to force myself to at least look at what's been submitted before commenting, in the spirit of not judging books by covers and all that. In this case, I found very little to suggest that I do not, in fact, know JavaScript. I'm also assuming that this is a very early draft of the material, but it could certainly benefit from the input of a good editor before any final publication.
- _getify 12y ago> I found very little to suggest Just curious what parts you looked at? Did you glance at the table of contents, or did you read full chapters? I certainly tried to reveal in every chapter several different things that, in my professional experience teaching JS to teams of developers, are commonly misunderstood or under-understood. If you had any specific feedback on what I could have done better to live up to the title, tone, and mission of the book series, I'd be appreciative of it. > very early draft Depends on which book(s) you looked at. The series is 18 months old by now, with 6 titles. 5 of them are already "complete". 3 of them have already been edited and published (though publisher edits didn't necessarily all make it back into the free repo versions). 2 of them are in final editing and production stages, so they're still being cleaned up. The sixth one is still a very early and partial draft, so it's quite rough.
- Silhouette 12y agoJust curious what parts you looked at? Did you glance at the table of contents, or did you read full chapters? I skimmed through pretty much all of "Scope & Closures". I also looked through the first few chapters of "this & Object Prototypes" to see whether they were any better. If you had any specific feedback on what I could have done better to live up to the title, tone, and mission of the book series, I'd be appreciative of it. Sadly, with that title and your chosen goals, I think you left yourself no chance of meeting expectations right from the start. If you're going to tell me I don't know a language I've been using for 20 years, you'd better mean it in the sense that there is something significant and new in your book, perhaps some cutting edge developments in the language itself, or maybe an original application or new perspective on how to use what was already there. In this case, the closest you get in the books I looked at is touching on a few basics of ES6 -- nothing wrong with that, but hardly earth-shattering news to a professional who runs 6to5 (ahem sorry, Babel) every day. Leaving aside the title, though, the material is often surprisingly narrow and imprecise if your intention is to teach the subtle details of JavaScript more thoroughly than many programmers might know them already. Your opening paragraph of chapter 1 makes several debatable claims. For example, your characterisation of mutable variables as fundamental to nearly all programming languages immediately ignores alternatives such as purely functional or logic languages. That is perhaps an unfortunate choice given the current trends in JS libraries and frameworks, which in many cases are moving in that more declarative direction. You then seem to conflate various concepts of scope, storage and lifetime throughout the book, and similarly do not seem to distinguish clearly and consistently between the concepts of identifiers, variables and values. In a language where closures and references to functions are used routinely and where you have some types passed by value but others effectively passed by reference, these kinds of distinctions matter, particularly to someone who has learned by osmosis or perhaps come from a background working with other programming languages, which seems to be a lot of your target audience here. More generally, your terminology tends to drift away from the ECMAScript spec quite a lot, again making it less precise. Another example would be the opening paragraph of chapter 1 of "this & Object Prototypes", where you describe this as being a "special identifier keyword". By definition (in the spec) an identifier can't be a keyword, because an identifier is precisely an identifier name that is not a reserved word. The most vague section of those I read was probably when you discuss closures in the final chapter, where I'm sorry to say you come across as rather unfamiliar with the concept yourself. Your usage is somewhat casual, unidiomatic even, not least in your definition of the term itself. Your explanation for where closures come from ("Closures happen as a result of writing code that relies on lexical scope. They just happen.") is just plain wrong, as evidenced by the fact that numerous languages with lexical scope do not provide closures as a language feature at all. Sorry if this all seems a bit nit-picky, but you did just write a book about the importance of understanding the details and telling me I didn't know the language. :-)
- AndrewDucker 12y agoYup. The original talks were called "Advanced JS: The 'What You Need To Know' Parts" - and I'd much rather have a book with _that_ title on my desk, rather than one that makes it look like I'm reading a "...For Dummies" book.
- imdsm 12y agoJust putting it out there but knocking the "For Dummies" books based on the title is a bit pretentious. Sure, the title doesn't really make you look good but the books are often well written and informative. They have a great layout and serve well as introductory books. In fact, I'd go as far as to say a lot of other books could learn a lot from the layout of the series. I've read many books and the dry books don't hold my attention for long. There is something to be said for books you just absorb.
- bryanrasmussen 12y agoI find the for Dummies books nearly unusable due to the evident required number of puns and homespun regular folks observations between every bit of actual technical info.
- michaelbuddy 12y agoYeah if For Dummies would just kill off the bad jokes it'd actually be easier to read. I don't like cringing through a book when I'm trying to learn something.
- deleted 12y ago[deleted]
- drapper 12y ago""You don't know x." titles considered harmful."
- ramblerman 12y agoI think it says more about your ego imo. I mean you're getting worked up about a book's title to the point that you won't look at its content. Just because it insinuated you don't know said content. It's amusing if anything.
- deleted 12y ago[deleted]
- 5outh 12y agoI thought it was an homage to You Don't Know Jack (http://en.wikipedia.org/wiki/You_Don%27t_Know_Jack_%28video_game_series%29 http://en.wikipedia.org/wiki/You_Don%27t_Know_Jack_%28video_...). I read the title as "You Don't Know Jack Squat," haha. I don't know if that was the author's intent, though.
- _getify 12y agoI explain the title, and the intended tone and purpose of the book series, in the preface. If you wouldn't mind taking the 3 minutes to read it, I'd be curious if it changes anything about your opinion of the title: https://github.com/getify/You-Dont-Know-JS/blob/master/preface.md https://github.com/getify/You-Dont-Know-JS/blob/master/prefa...
- ekidd 12y agoNope, 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.)
- billyhoffman 12y agoThis. "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.
- _getify 12y agoThe 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.
- brudgers 12y agoIt's easy to be a critic. On the internet it's even possible to be a popular critic on a topic by admitting that one hasn't even read the subject of the criticism. In the world of male tech, one can easily achieve top common in an HN thread exactly for judging a book by its cover. Anyone who doesn't have imposter syndrome hasn't tried the exercises in TAoCP.
- ebbv 12y ago> It's easy to be a critic. In fact it's so easy that you can make a snide comment criticizing someone else's criticism and it will do really well if you throw in some unnecessary and ridiculous "male dominated" comment.
- collypops 12y agoIt wouldn't be a Hacker News thread without the top comment being an "Am I the only one...?"
- ergothus 12y agoActually, I'm fine with these titles. It's the "Dummies", "Idiot's", etc titles that I find offensive. My problem is (usually) ignorance, and I'm looking to correct that. If I'm an idiot, no book will fix that.