Hacker News new | comments | show | ask | jobs | submit login
Eloquent JavaScript, 3rd edition (eloquentjavascript.net)
199 points by ranit 11 months ago | hide | past | web | favorite | 31 comments

> “I estimate that I'll probably be busy with this for the next three months. When it's done, the new edition will become the main one on the website. In the meantime, the git repository for the book remains open, so you can see what I'm doing.“

So cool. Good luck!

Also in case it helps, couple tiny corrections for the landing page: (“is run by” and “existence”).

Thanks. I found the 'existance' typo. What do you mean by 'is run by'?

Most likely the GP is referring to "This crowd-funding campaign is ran in ...".

Eloquent JavaScript is easily the text I most reference when asked for recommendations on where to go to learn/bone up on JS. It's a real achievement, in one guy's opinion.

I think Eloquent JS is a fan fruckin tastic book, overall. BUT, I have one quibble (about the first edition; I haven't looked at the second).

Its preface and first few chapters sort of present itself as a book intended to teach the absolute basics of programming to someone who has never done any programming at all before. A first book. And I think you'll find that if you give it as a sole resource to someone in that position, it just moves too quickly through the fundamentals. It's definitely a second book or a third book, or a book for reading after someone made it through a few of those ultra-beginner courses on Codecademy or Khan Academy or wherever.

I actually completely agree. I usually work with people who have already had some exposure to basic programming concepts and I think it's wonderful for them. But for someone looking to get started there are presumably better resources.

Agreed. Once you hit that recursion/functions in functions chapter...lawd. And I'm coming from python (almost intermediate level)

I can confirm this as well. I actually have Eloquent Javascript queued up because the first time I read it, I found it too challenging. And even then I wasn't a complete beginner.

That said: I love this book!

Have you read You Don't Know JavaScript? I'm just wondering how you feel the two compare.

I have, and they're also a great resource. I tool up a lot of junior devs, and I usually start them off on Eloquent if only because the format really lends itself to structured lessons. I like YDKJS post-Eloquent, for when they really want to dig into something specific (closures, async, etc). I think the two collective works marry pretty nicely.

Searching too long for the repo? https://github.com/marijnh/Eloquent-JavaScript.git

  no_understand = author(!put_repo_url(site)) || me_blind;

Wow, This is fantastic news! The 2nd edition is the only JS book I recommend to learners, so it will be so good to have an update that introduces new ES6 features as well.

I needed an explanation like Eloquent JavaScript to finally get started at programming, starting from a graphic design background it _does_ take you from the basics up and doesn't assume you begin the book with any JS OR programming background at all. I'm hoping the new edition retains that approachability so this can remain essential reading for all JS learners :D

The second edition was one of my favorite programming books when I was just getting started! Looking forward to this.

> The biggest thing that happened in the JavaScript universe in the past years is the finalization and adoption of ECMAScript 6 (or ES2015)

I don't know if it's meant as a joke, but isn't it usually known as ES6 or ECMAScript 2015? And people quarrel over which to use?

I think ES and ECMAScript are pretty interchangeable, as are 6 and 2015 (the latter is official, but the former is what it was called for forever). I've seen all 4 of those names used.

ES2015 is pretty common in my experience. I don't recall seeing ECMAScript very often. ES6 or ES2015 seem to be the most common.

I don’t think it’s a joke, but I haven’t seen ECMAScript much in practice, just es6 and es2015 in npm.

Full “ECMAScript” seems more common for clarity in proposals.

So helpful

One of the best programming books for sure. I will gladly chip in for the third edition.

At what donation level does one receive an actual physical copy of the book? (The page implies that there will be a printed version, but never actually says you get one. Or did I miss it in two readings?)

That is not a perk that's being offered.

That's too bad because I was game for that as well. If it was included in a perk, then I'd love much closer to buying than I am now.

I assume NoStarch.com will have them available for pre-order in a month or so.

> We're all writing let instead of var now, and a book that continues to write var is starting to look a bit out of touch

Serious question: Does this also refer to client side web developers? According to caniuse.com, only around 83% of web browsers support the let statement, which in most cases wouldn't cut it when releasing a web site or web app to accommodate the largest audience.

Yes, you can transpile ES6+ to ES5 for client-side applications using Babel.

True, but admittedly, I'm so fond of the ability to have no "middlemen" between the code I write and what gets run by the browser that my dislike for any logistics/bureaucracy overhead is stronger than my attraction to ES6+ (or CoffeesScript for that matter). I know it might sound a bit irrational (I'd much rather code in C++ than code in assembly), but I think one of the perks of writing in JavaScript was that I got to have a high level language directly run by a system and now I don't want to give it up. I prefer to wait until the percentage of browsers that support ES6+ goes up.

In that case, use var. There is no production ready polyfill for let. I'd recommend editing your original question and putting your requirement of not using any buildtools or transpillation in, because it's the salient factor here and for most questions you'd ask regarding JS.

>but I think one of the perks of writing in JavaScript was that I got to have a high level language directly run by a system and now I don't want to give it up.

Out of curiosity, what do you see you're giving up? Is it the theoretical knowledge that the code exactly as written is being interpreted? I find that the compiled code is very human readable nowadays, and with sourcemaps it's not an issue at all as browser dev tools will directly link to the source files instead of the compiled files. I used to think I was giving up something until I worked with such a setup.

sorry, missed your reply (so perhaps you won't see this for the same reasons) but anyway:

Mainly the feeling of giving up simplicity. Adding things (such as sourcemaps and any relevant configuration changes) usually detracts from the sense of "no middleman", although I know "no middleman" is always an illusion, it's less obvious when you don't have to do anything to create it.

Not only can you, everyone who uses it does :)

Marijn has worked hard on the 2nd edition. In my opinion, it is a must read for any new Javascript developer.

I literally just finished the 2nd edition last week, and built https://learnsearch.xyz/ using my new found node and http knowledge from the last few chapters.

I'm definitely backing this

Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact