

Eloquent JavaScript, The Annotated Version - gordonzhu
https://docs.google.com/document/d/1aa2-HtUglQrAps31s4LdTPVsiFb1BxhyjZolxeezzcI/edit

======
gordonzhu
This is an annotated version of the second edition of
[http://eloquentjavascript.net/](http://eloquentjavascript.net/).

There are two objectives for this project: (1) Add comments to make the text
easier to understand. (2) Allow you to ask me questions using comments so you
don't get stuck.

The big idea is that you’ll be able to get through the book without any issues
and understand everything on a very deep level. I’ve heard from too many
people that the first few chapters have been smooth and then the middle to
later chapters have been a struggle (which is a big shame). I want the entire
book to be a smooth experience so that you can feel confident about JavaScript
and can move on to bigger things.

My goal is to create a really useful and lasting resource that helps a ton of
people. Please let me know what you think!

If you've struggled through parts of the book before, I'd love to hear about
it so that I can spend more energy on the parts where you need it most.

I also posted this on Reddit and it's currently at the top of
/r/learnjavascript if you'd like to see the discussion there.
[http://www.reddit.com/r/learnjavascript/](http://www.reddit.com/r/learnjavascript/)

~~~
gordonzhu
Crap so if you open the file now you may get a message at the top of the page
that says:

"Wow, this file is really popular! Some tools might be unavailable until the
crowd clears. Try again. Dismiss."

This sucks because comments don't show when this happens, which is the whole
point. Hopefully things will die down later and the comments will be visible
again soon.

~~~
liviu
I think this won't change any time soon.

Take a look at Angular Announcements[1] released in November 2014. The warning
message is still visible today. I think it's a bug or something because once
your file get that warning message it remains forever.

[1]
[https://docs.google.com/a/ideveloper.ro/presentation/d/1fE0P...](https://docs.google.com/a/ideveloper.ro/presentation/d/1fE0PW1FMlYU9Xhig_QIGF8Yk1ApVfQQvntEEi4GbCm8/preview?sle=true&slide=id.p)

~~~
gordonzhu
So if I add "/edit" to the link that you provided, the doc seems fine.

[https://docs.google.com/presentation/d/1fE0PW1FMlYU9Xhig_QIG...](https://docs.google.com/presentation/d/1fE0PW1FMlYU9Xhig_QIGF8Yk1ApVfQQvntEEi4GbCm8/edit)

I wonder if the bug you're seeing is something that is specific for Google
slides in presentation mode.

------
marijn
People keep voting this up, even though the comments are broken. If you're
just going to read the book, note that there's a better-formatted, interactive
version at [http://eloquentjavascript.net](http://eloquentjavascript.net)

~~~
AlexeyBrin
Just curios, did this guy asked for your permission to basically republish
your book ?

~~~
NathanKP
The content of the book is specifically licensed Creative Commons and MIT.
Therefore no permission is required as long as you follow the terms of the
licensing agreement.

------
olov
I haven't been able to see the comments so I can't give feedback on that, but
you should give proper credits to the book's author, Marijn Haverbeke and
respect his choice of license, [http://creativecommons.org/licenses/by-
nc/3.0/](http://creativecommons.org/licenses/by-nc/3.0/) (summary) and
[http://creativecommons.org/licenses/by-
nc/3.0/legalcode](http://creativecommons.org/licenses/by-nc/3.0/legalcode)
(full license).

~~~
gordonzhu
Thanks for pointing this out. I've added Marijn Haverbeke's name to the top of
the doc and also linked to the license.

------
fridek
It's a great and well written book already. I'm not sure how can you benefit
from annotating it any further. It's important to accept that some books are
aimed at a certain level and for people not quite there yet better
alternatives exist [1]. There are also some topics that a book needs to just
mention and not go into much details, because for a beginner the exact
internals of TCP are not useful anyway.

[1] [http://jsbooks.revolunet.com/](http://jsbooks.revolunet.com/)

~~~
emmanueloga_
That's a nice resource, never saw that page before.

Just to clarify I'd say Eloquent JavaScript is a nice book, and definitely a
beginners book. I say this because it seems you are saying the annotations
could help "people not quite there".

------
wil421
I just bought this book last week and havent dove in yet. Bookmarking this
page for future reference.

Can anyone suggest a JS book to read after this one, for someone thats not
quite a beginner with programming but trying to improve their JS skill set?

~~~
2mur
Javascript Allongé [0] by Reg Braithwaite [1]

[0] [https://leanpub.com/javascript-
allonge/read](https://leanpub.com/javascript-allonge/read)

[1]
[https://news.ycombinator.com/user?id=raganwald](https://news.ycombinator.com/user?id=raganwald)

------
serve_yay
> "Below the surface of the machine, the program moves. Without effort, it
> expands and contracts. In great harmony, electrons scatter and regroup. The
> forms on the monitor are but ripples on the water. The essence stays
> invisibly below."

Man, I hate reading stuff like this in technical books.

~~~
choward
Me too. I already spend a lot of time reading to stay up on technology. I
don't need crap like this wasting more of my time.

------
whoisthemachine
This would probably not be trivial, but perhaps it would be better to upload
this to Github in Markdown format? Github would allow comments, suggested
changes to the original text, version control, etc.

------
Ygg2
Does anyone know the difference between the online version and the published
version?

~~~
marijn
The published version has one bonus chapter. That's basically it (except for a
few small mistakes that were caught after the thing went to print --
[http://eloquentjavascript.net/errata.html](http://eloquentjavascript.net/errata.html))

------
louhike
Is it only aimed at beginners?

~~~
AlexeyBrin
Yes, if you already know JavaScript you can probably peak and chose what is
interesting for you from the book. Check the actual book website
[http://eloquentjavascript.net](http://eloquentjavascript.net)

~~~
atom-morgan
I've always found it interesting that people say this book is targeted towards
beginners. If this had been my first programming book, or one of my first, I
know the chapters starting with functional programming would have really
confused me.

I personally recommend this book after another more introductory level book on
JS.

