
Eloquent JavaScript, Second Edition - ingve
http://eloquentjavascript.net/
======
UnfalseDesign
In regards to the book's online version, I like how it has code examples that
one can edit and run inline among the book's text. I often find myself, while
reading a book on a particular language, opening up a new project in an IDE or
a REPL in order to fiddle around with what the book it trying to teach. This
makes it much more fluid.

It was a pleasant surprise. It is a nice concept I have not previously seen
done. (I'm sure someone can come up with examples of where it has previously
been done before but this is the first I personally have seen it.)

~~~
elwell
I just wish we had hi-res, color, e-ink monitors with quick refresh rate. I
can't bring myself to read an entire book online; even if it's free.

~~~
coldtea
Well, we do have retina ipads (and other tablets).

e-ink I find just a gimmick -- there is no scientific research that shows it
being any better than a typical monitor for the eyes (Amazon also retracted
such statements IIRC). The only real benefit was resolution (which retina/hi-
dpi solved) and reading in the sun (which e-ink retains as an advantage).

Sure, one reflects light and the other has a light source embedded. But a
photon is a photon in both cases (and you can blind yourself with a white
paper too, if you hold it at the right angle to the sun) -- and you can set
the tablet display at the desired, equivalent to reflectef light, brightness.

~~~
SeanDav
It may be gimmicky to you, but I cannot read an entire book in a sitting or
two (as I often do) on any kind of non e-ink monitor and that includes
tablets. I can easily do this on a Kindle or other e-ink device. So, for me,
e-ink is no gimmick, it is an essential requirement for prolonged reading.

~~~
coldtea
Well, FWIW, I for one can read a whole books, actually lots of them from both
iBooks and iOS's Kindle app (read on a tablet. Heck, even on an iPhone). And
don't care particularly for e-ink (I also have a kindle I don't use much).

If you can find some specific scientific argument why e-ink is "an essential
requirement" (besides personal choice) then it's just cargo cult.

I listed fairly accurately were e-ink is better, namely reading in sunlight.
And battery life, which I forgot.

For reading inside, it's advantages of yore, like resolution have been matched
by hi-dpi screens. The only other advantage is better default contrast, which
is a configurable setting on a tablet.

~~~
SeanDav
Off the top of my head there are 2 major differences between e-ink and non
e-ink displays that could potentially explain differences in comfort level for
prolonged use:

\- Non e-ink displays have a refresh rate, therefore continuous "activity" on
the screen. People can have different sensitivities to this.

\- Non e-ink displays tend to have higher contrast and/or brightness. This
would normally be considered an advantage, but again perhaps not for prolonged
use.

I don't need scientific papers to tell me I find e-ink more comfortable or
not, it becomes very quickly apparent when I try to read a book on a tablet.
Obviously you have a different perception, that does not invalidate mine.

~~~
alok-g
I am not sure if either of the two effects you listed are behind this. I think
the most notable issues include:

1\. Less brightness as measured in nits. Emmissive displays are often tuned to
much higher brightness than normal objects around us including reflective
displays like E-ink.

2\. Reflective displays and paper often have significantly lower front-surface
reflection than LCDs/OLED displays. Add touch-screen and it gets ruined beyond
repairs.

The first one is easy to tune by reducing brightness levels. However (A) that
makes the second one worse as the brightness of the displayed content reduces
but the brightness of reflection does not, and (B) displays are often too
bright even at their lowest brightness levels allowed. Put a white paper in
the front of white background on the screen, and you'll see what I mean.

------
poxrud
Good read. After you finish this book I'd suggest the free Javascript Allonge
[https://leanpub.com/javascript-allonge/read](https://leanpub.com/javascript-
allonge/read) An excellent intermediate/advanced javascript book.

~~~
HolyHaddock
Seconded.

I'm currently using it as a beginners Javascript book and find it extremely
accessible.

~~~
vincentleeuwen
We'll speak to you again once you're beyond chapter 5...

(absolutely loved it as well by the way)

------
RevolverOce
I've been following this book for a while now and I'm pretty thrilled to see
its reception here on HN. This book is an excellent introduction to front-end
development (and even a little backend since it does include a chapter on
Node.js)

It has an excellent balance of design patterns and introductory knowledge to
attract the new and also seasoned developers who are beginning to look at
javascript more seriously.

(This book is also a great primer for anyone who did not understand Javascript
the Good Parts)

~~~
etherealG
Any idea if this book would be a waste of time if the good parts sunk in
easily?

------
aboutaaron
This was a great reference when I started learning JavaScript. It just didn't
go over the language, but also gave a great history of programming in general
and why JavaScript is structured how it is. A lot has changed in JS land since
the first version came out so I look forward to have the author tackles it/

~~~
chazu
Agreed. This book's conversational style and carefully-worded explanations of
core concepts from multiple paradigms helped me begin to grok javascript
beyond just $('.that-thing-there').doStuff();

------
TelusX
This is the best Javascript tutorial out there, and I was eagerly looking
forward to this update. From glancing at the text, however, it seems that it
doesn't cover the very significant upgrades introduced by ECMAScript 6
"Harmony".

Seeing that the standard is already being finalized towards a release in 4
months[1], this seems like an unfortunate omission in an otherwise top-notch
text.

[1]
[http://en.wikipedia.org/wiki/ECMAScript#ECMAScript_Harmony_....](http://en.wikipedia.org/wiki/ECMAScript#ECMAScript_Harmony_.286th_Edition.29)

~~~
huxley
Doesn't sound like ECMAScript 6 is coming out until mid-2015

[https://twitter.com/awbjs/status/474662357516689410](https://twitter.com/awbjs/status/474662357516689410)

[http://blog.oio.de/2014/06/13/ecmascript-6-delayed-
mid-2015/](http://blog.oio.de/2014/06/13/ecmascript-6-delayed-mid-2015/)

~~~
TelusX
That is unfortunate. I do hope the ES author updates his text to ES6 to
encourage newbies to make use of the many new features, though it's
understandable he chose to refrain from it for now.

------
thewarrior
Inspite of all the criticism that Javascript gets it's so easy to just dive in
and start messing around. The game projects seem like a lot of fun.

------
geppetto
Great book but... is it finished yet? Doesn't seem so [1].

[1] [https://github.com/marijnh/Eloquent-
JavaScript](https://github.com/marijnh/Eloquent-JavaScript)

~~~
marijn
It more or less is, apart from some further proofreading. I forgot to update
the README file.

~~~
ZeroGravitas
Reading through the first few chapters I found a couple of words with double
brackets round them (( )) that look like they should just have been italics
(or maybe links to another section?).

~~~
marijn
Those were index terms that weren't properly parsed by asciidoc. Should be
better now.

------
taude
The original version is one of the readings that I suggest for experienced
engineers on our team who are new to working with JavaScript.

------
greg5green
I am both quite happy and a little sad that the chapter on functional
programming was nixed from the first edition.

It was way over the heads of the beginners the book was aimed at, but it sure
was fun to try and figure out.

~~~
taude
Is that stuff in the chapter called higher order functions now?

[http://eloquentjavascript.net/05_higher_order.html](http://eloquentjavascript.net/05_higher_order.html)

~~~
greg5green
From my quick skim checking to see if it was still there, no. He touches on
some of the same points, but it's not nearly as in-depth or crazy (in a
wonderful, functional way).

~~~
greg5green
After looking at the old chapter again
([http://eloquentjavascript.net/1st_edition/chapter6.html](http://eloquentjavascript.net/1st_edition/chapter6.html)),
it isn't as intimidating as before. So yeah, maybe it is still mostly all
there -- it seems the ES5 syntax makes it way less confusing

------
kasabali
As I understand audience of the book is both experienced programmers and who
hasn't done programming before. Can anyone please comment if it will be boring
for experienced programmers (who are new to javascript) or not?

~~~
marijn
The first few chapters will probably be a bit slow. But it ramps up pretty
quickly around chapter 5.

------
gprasanth
I've been wanting to read this. Sweet:
[https://gist.github.com/g-P/cbdfd4a4b982ba8fa04b](https://gist.github.com/g-P/cbdfd4a4b982ba8fa04b)

~~~
ClashTheBunny
The github page for the book has a makefile that creates a pdf of the book.

The book was written for both computer and pdf, so you should really build the
PDF from the code to get the parts of the text that have been altered for
print. If you just PDF the html, you end up with some weird things from the
interactive parts.

You can find the build targets here: [https://github.com/marijnh/Eloquent-
JavaScript/blob/master/M...](https://github.com/marijnh/Eloquent-
JavaScript/blob/master/Makefile)

~~~
dbough
Attempted to make a PDF from the makefile. I don't have some of the fonts
needed - am I out of luck?

~~~
marijn
Yes, it's currently trying to build the pdf with the No Starch house style,
which contains commercial fonts. Setting up a plain-LaTeX build for the pdf is
near the top of my list of things to do (but I'm taking a holiday first).

------
donniezazen
I want to learn decent amount of HTML/CSS/JS to beautify and improve the
usability of my webpage. What would be a good source to learn these things?

~~~
humpt
When I started this about 8 years ago or so, i used [this
book]([http://www.headfirstlabs.com/books/hfhtml/](http://www.headfirstlabs.com/books/hfhtml/)).
It's structured as a case study, a coffee shop owner who wants to make a small
webpage.

It's amazing how it's well written and fun to read. I like it puts some effort
in showing you quickly the benefit of what you learned, you never get the
impression something is pointless. (NB: it's big but you don't have to read it
all. I read say the first half, than used it more like a reference book.)

------
mesozoic
Looking forward to reading it. Is there a place to report bugs I noticed a
type in the first chapter

"Casual computing has become become much "

~~~
desipenguin
github link given later - may be report bug there, or just send a pull request
: [https://github.com/marijnh/Eloquent-
JavaScript](https://github.com/marijnh/Eloquent-JavaScript)

------
derengel
Why is the paper book delayed until november? also the paper book says it has
400 pages, does the paper book has more content?

~~~
marijn
It'll have a single bonus chapter. But the current text, as it is online,
already takes up 390 pages when typeset in No Starch's house style.

~~~
phren0logy
Will you consider accepting donations on your site?

~~~
marijn
Yes, that's something I planned but haven't gotten around to yet. (Not very
clever to leave it after the big announcement, I suppose.)

------
uptownJimmy
Excellent. I've been awaiting this one. I'm at the perfect sweet spot to make
maximum use of it.

And I do love good writing...

------
mkesper
Question to author: Why did you choose CC-BY-NC when you also make your
contents available under MIT licence?

------
niix
Always wanted to take the time to complete this book. Looking forward to
diving into the 2nd edition.

------
humpt
This is a bit off topic but does someone know how this book is generated,
which tools are used?

~~~
marijn
An unholy chain of asciidoc and node scripts. The sources are at
[https://github.com/marijnh/Eloquent-
JavaScript](https://github.com/marijnh/Eloquent-JavaScript)

~~~
humpt
Thanks! I had no idea something like asciidoc existed. It seems to be a fair
balance between markdown and tex

------
etherealG
Would anyone recommend this after already going through the good parts by
Douglas Crockford?

------
andreash
Mobi or epub version anyone?

~~~
taude
CLick on the link to purchase, you can buy a mobi or epub version, or a bundle
with the printed book (not ready yet)

~~~
andreash
doesn't lool like mobi is ready yet.

------
oweiler
Should I buy/read the second edition when I already own the first one?

~~~
marijn
Only if you feel you want to go over that material again, in a more up-to-date
format, and with better/more example projects. If you've already mastered JS
and web development, the new edition probably won't teach you anything new.

------
silverwind
I thoroughly enjoyed the first edition, looking forward to this.

------
cmoon820
blah

------
beders
"These ideas were initially worked out in the 1970s and 80s, and, in the 90s,
were carried up by a huge wave of hype—the object-oriented programming
revolution. Suddenly, there was a large tribe of people declaring that objects
were the right way to program, and that anything that did not involve objects
was outdated nonsense.

That kind of zealotry always produces a lot of impractical silliness, and
there has been a sort of counter-revolution since then. In some circles,
objects have a rather bad reputation nowadays."

Eloquent JS, maybe, eloquent writing. Not in this book.

~~~
EvanYou
Note the author is not a native English speaker, and the book in its current
form probably hasn't gone through the editors yet.

~~~
jamesbritt
Apparently the book is done.

[https://twitter.com/marijnjh/status/494433950505644032](https://twitter.com/marijnjh/status/494433950505644032)

~~~
kimmel
This book needs some serious editing. There is clunky English which native
speakers can figure out the gist of it but English as a second or later
language would have a problem with. There are parts where I wonder why certain
terminology is not explained before using it and other areas where terminology
is explained that I assume the reader needed to know before reading this
material. Good technical books have a section in the beginning usually called
something like "Intended audience" or "Who should read this book". I only did
editing for a few years but those are the first things I noticed after reading
the intro and chapters 1-3.

~~~
marijn
Could you be more specific about the problems you found? The first few
chapters of the book have been edited by three professional editors at this
point.

~~~
marijn
(Clarification: actually, that goes for the first 4 _real_ chapters. The intro
chapter might still be a little rough.)

