JavaScript Book Recommendations?


G

Gene Wirchenko

Dear JavaScripters:

Does anyone have any recommendations for a good book on
JavaScript? (If anyone is going to suggest reading the FAQ, let me
say that you should read it first before hitting "Send".)

In another thread, Tim Streater mentioned "JavaScript Bible 7th
Edition". What do you think of it?

Other titles?

I am looking for a book that gets into the fine points. There
are all too many books and Webpages that deal with the beginning
stuff, but I need to get into the fine points. I want my pages to be
professional and not subject to errors because some mistake that I
could have avoided if only I knew.

Sincerely,

Gene Wirchenko
 
Ad

Advertisements

M

Mel Smith

Gene said:
In another thread, Tim Streater mentioned "JavaScript Bible 7th
Edition". What do you think of it?

Gene:

I purchased it on Amazon this morning. Hope to get it by Jan 3rd.

Will let you know what I think of it next week.

-Mel Smith
 
J

Jukka K. Korpela

Does anyone have any recommendations for a good book on
JavaScript? (If anyone is going to suggest reading the FAQ, let me
say that you should read it first before hitting "Send".)

I think I have read this entry in the FAQ. You are not saying what you
are unhappy with it, so can you expect anything but a mix of personal
opinions, at most? (Usenet is dying, so don't expect too much even in
that category.) Books are fairly cheap, and many of them have samples
and tables of contents online, so you can make your own decisions.

"JavaScript: The Definitive Guide" (in its latest edition) is extensive
and up-to-date. But it's a handbook, not a textbook.

"JavaScript: The Good Parts" is an extended essay with strong opinions,
mostly reasonable. It doesn't really teach JavaScript, but it presents
an expert opinion on what is worth learning in JavaScript.

Also beware that people participating in forums like this have strong
tendency towards being theoretical and biased, instead of considering
what might help you to get your job done. They might worry much more
about your coding style than the question whether you can actually
produce working code. The resident troll is of course a grossly
exaggerated example of this, but even apparently reasonable people have
personal likes and dislikes as well as personal agendas and could judge
books from a very narrow perspective.
 
M

Michael Haufe (TNO)

Dear JavaScripters:

     Does anyone have any recommendations for a good book on
JavaScript?  (If anyone is going to suggest reading the FAQ, let me
say that you should read it first before hitting "Send".)

     In another thread, Tim Streater mentioned "JavaScript Bible 7th
Edition".  What do you think of it?

     Other titles?

     I am looking for a book that gets into the fine points.  There
are all too many books and Webpages that deal with the beginning
stuff, but I need to get into the fine points.  I want my pages to be
professional and not subject to errors because some mistake that I
could have avoided if only I knew.

"fine points" such as? I think the problem with recommending book A or
book B is the lack of knowing the experience of the person asking.

<http://eloquentjavascript.net/> is an okay book to teach you a little
bit about general programming through the eyes of JavaScript (non-
idiomatic).

Steven Levithan's book is a decent desktop reference on Regular
Expressions. It won't teach you anything deep and fundamental about
them, but it has a nice collection, as does his website: <http://
blog.stevenlevithan.com/>

Personally I learned JavaScript in the late 90's by reading other
people's source code (now I feel old). Sadly many of those websites no
longer exist. One of them that does and which was a great inspiration
to me at the time on how to write elegant code is <http://
www.dhteumeuleu.com/>. Today I know longer follow the same style, but
it was a great resource nonetheless (especially when he used to host a
forum)

MDN is a decent resource <https://developer.mozilla.org/en/
JavaScript>.
There are flaws and incomplete guides and pages as it is a wiki, but
overall the quality has been increasing at a steady rate. Personally I
find it a good place to look up minutiae (ex: in what order does
reduce take its parameters?)

I think the most important resource today is having a place where you
can ask stupid/ignorant questions and not get a stupid/ignorant
response.

For beginning to intermediate JS users I'd say look to JSMentors or
StackOverflow. For Intermediate to Advanced, CLJS and JSMentors.
Beyond that and you probably need to look at subject specific forums/
groups or individual people. JSMentors/CLJS could still be a decent
place to ask, but the noise ratio increases it seems on almost correct
answers. For example, if I had a hard problem I was trying to solve in
some legacy environment (IE5.5), I might ask David Mark directly. If I
had a Code Golfing question I might pose it towards P01 <http://
www.p01.org/>, etc.
 
G

Gene Wirchenko

Gene said:
I purchased it on Amazon this morning. Hope to get it by Jan 3rd.

Will let you know what I think of it next week.

Yes, please. I am particularly interested in the past-the-basics
stuff.

(Has anyone else noticed how many texts cover the basics and
ignore the next step?)

Sincerely,

Gene Wirchenko
 
G

Gene Wirchenko

I think I have read this entry in the FAQ. You are not saying what you
are unhappy with it, so can you expect anything but a mix of personal
opinions, at most? (Usenet is dying, so don't expect too much even in
that category.) Books are fairly cheap, and many of them have samples
and tables of contents online, so you can make your own decisions.

Well, I am, but no use ranting. I was expecting more than two
books, and at least one that is not flawed. From what I read of the
links, both are flawed. (Yes, I might be wrong about this, but if I
knew for sure, I would not need that FAQ's answer.)
"JavaScript: The Definitive Guide" (in its latest edition) is extensive
and up-to-date. But it's a handbook, not a textbook.

That would be fine.
"JavaScript: The Good Parts" is an extended essay with strong opinions,
mostly reasonable. It doesn't really teach JavaScript, but it presents
an expert opinion on what is worth learning in JavaScript.

I have strong opinions myself, but I would not presume to wrap
them up with a language. I do not want to buy into a bias. After I
know more, I might round out with such a text, but then, I would know
more what I was getting into.
Also beware that people participating in forums like this have strong
tendency towards being theoretical and biased, instead of considering
what might help you to get your job done. They might worry much more
True.

about your coding style than the question whether you can actually
produce working code. The resident troll is of course a grossly

Very true. Elsewhere, I once asked somewhat detailed language
question and posted related code, and one poster replied just to snark
me on my variable naming convention (and did not answer my question at
all).
exaggerated example of this, but even apparently reasonable people have
personal likes and dislikes as well as personal agendas and could judge
books from a very narrow perspective.

My troll detection is pretty good. For this group, I have one
flagged. Another poster is questionable (not necessarily a troll as
such, but his posts are very difficult to interpret).

Sincerely,

Gene Wirchenko
 
Ad

Advertisements

G

Gene Wirchenko

"fine points" such as? I think the problem with recommending book A or
book B is the lack of knowing the experience of the person asking.

I am an experienced programmer-analyst digging into Web
programming seriously now. I have gone fairly thoroughly through a
reasonably detailed intro text. (I call it an intro text, because it
starts from square one, but does not cover everything or so.) By gone
through, I mean that I did most of the examples and changed them to
suit my preferences. I am ready for the next level.

[snipped pointers]
I think the most important resource today is having a place where you
can ask stupid/ignorant questions and not get a stupid/ignorant
response.

Yes. There are little bits that fall through the cracks, and
having someone to discuss things with really helps.

This group does quite well in that respect.

[snipped pointers]

Thank you for the pointers. I will be digging into them, and I
hope, find some that will do it for me.

Happy New Year.

Sincerely,

Gene Wirchenko
 
T

Tim Streater

Mel Smith said:
Gene said:


Gene:

I purchased it on Amazon this morning. Hope to get it by Jan 3rd.

Will let you know what I think of it next week.

If you go to Amazon, you can "look inside" (at least on UK Amazon). The
thing for me about the Bible is that I find it readable and quite
comprehensive. There are those here who say it's wrong in this or that
regard and they might well be right, but then what do you expect in a
book of that length. It also has a nice index.

I'd advise looking "inside" as many as you can - readability is IMO a
very important characteristic - but for all I know, you may find the
Bible unreadable. In the final analysis, only you can judge.
 
E

Evertjan.

Gene Wirchenko wrote on 30 dec 2011 in comp.lang.javascript:
Elsewhere, I once asked somewhat detailed language
question and posted related code, and one poster replied just to snark
me on my variable naming convention (and did not answer my question at
all).

If that elsewhere was on usenet, that is perfectly reasonable.

Usenet NG's, also this c.l.j., are not paid or free helpdesks,
and the response is as the responder wishes,
not necessarily to the liking of the OQ,
and not necessarily an answer at all.

That usually the answer is ment to help you,
even perhaps in a way you do not want to be helped,
is just a happy or unhappy coincidence,
not your right.

" > replied just to snark me on my variable naming convention "

There is a strong feeling that naming conventions are very usefull,
[ (naming-)conventions should be strict and not variable ;-) ]
and responses are not ment for the OP only, as this is not email,
so the response could be well ment.

So "just to snark" [I am just guessing what you mean by "snark",
never having heard the word before, but the "just" says it all]
is obviously incorrect,
only reflecting your personal feeling,
not necessarily or even probably the poster's intention.
 
D

Dr J R Stockton

In comp.lang.javascript message <[email protected]
Does anyone have any recommendations for a good book on
JavaScript? (If anyone is going to suggest reading the FAQ, let me
say that you should read it first before hitting "Send".)


As you insist on using IE9, what you really want is a good book on
JScript. The reference section of our Public Library has a thick white
book on JScript; it is called "JavaScript" on the spine -- I did not
read the front or the name(s) of the author(s) or the publisher. I
don't know whether the JavaScript part is good; but the JScript-only
part has been very useful for seakfyle.js.

But if toy want a book you can believe every word of, you'll have to
write it yourself.
 
G

Gene Wirchenko

On 30 Dec 2011 23:28:58 GMT, "Evertjan."

[snip]
There is a strong feeling that naming conventions are very usefull,
[ (naming-)conventions should be strict and not variable ;-) ]
and responses are not ment for the OP only, as this is not email,
so the response could be well ment.

Not in that group. I do have a naming convention that works very
well for me. It did not happen to be the other person's convention.
So "just to snark" [I am just guessing what you mean by "snark",
never having heard the word before, but the "just" says it all]
is obviously incorrect,
only reflecting your personal feeling,
not necessarily or even probably the poster's intention.

How amusing. You do not know what the word "snark" means, but
you can conclude that my statement is obviously incorrect?

Well, no, it is not obviously incorrect. You do not know the
background and are simply assuming that the post was well-meant. That
is a very questionable assumption. USENET, as you may have heard, has
trolls.

Sinerely,

Gene Wirchenko
 
Ad

Advertisements

E

Evertjan.

Gene Wirchenko wrote on 01 jan 2012 in comp.lang.javascript:
On 30 Dec 2011 23:28:58 GMT, "Evertjan."

[snip]
There is a strong feeling that naming conventions are very usefull,
[ (naming-)conventions should be strict and not variable ;-) ]
and responses are not ment for the OP only, as this is not email,
so the response could be well ment.

Not in that group. I do have a naming convention that works very
well for me. It did not happen to be the other person's convention.
So "just to snark" [I am just guessing what you mean by "snark",
never having heard the word before, but the "just" says it all]
is obviously incorrect,
only reflecting your personal feeling,
not necessarily or even probably the poster's intention.

How amusing. You do not know what the word "snark" means, but
you can conclude that my statement is obviously incorrect?

Well, no, it is not obviously incorrect. You do not know the
background and are simply assuming that the post was well-meant. That
is a very questionable assumption.

Happy New Year, Gene,

Yes I am simply assuming it is obviously incorrect, based on the total of
the information you gave. [including slang wording.] Requiring me to
incalculate information that you did not give or requiring me not to
respond, because you possibly did not give such, is incorrect.

You seemed to assume the right to an answer on Usenet,
and so declare anyone that does not anwer the way you want a troll.
USENET, as you may have heard, has trolls.

"has"?

A troll is not a troll just because you do not like a response.

Shall we return to the beauty of programming [in javascript]?

btw, what is your definition of this "snark" slang?
 
J

John G Harris

I am looking for a book that gets into the fine points. There
are all too many books and Webpages that deal with the beginning
stuff, but I need to get into the fine points.
<snip>

Your best bet is to learn to look up details in ECMA 262 and the W3C DOM
specs.

I'd add learn to look up details in the Microsoft and Mozilla web sites,
but a quick look shows an amazing and discouraging amount of nonsense in
both, and also missing information. This may be why detailed text books
are hard to find : no-one can find out what they really do.

John
 
J

John G Harris

Also beware that people participating in forums like this have strong
tendency towards being theoretical and biased, instead of considering
what might help you to get your job done. They might worry much more
about your coding style than the question whether you can actually
produce working code.

Why do we comment on style? Because beginners need to be told that if
code is a tangled mess it's very difficult to find out what's wrong. And
because a week later it is very difficult to convince yourself that it's
right. And because a year later you won't be able to work out what it
does.

Also because it's difficult to find someone willing to help you solve
your problem.

Working code? How do you know for sure it's working if you can't see
what the code does or doesn't do?

The resident troll is of course a grossly exaggerated example of this,
but even apparently reasonable people have personal likes and dislikes
as well as personal agendas and could judge books from a very narrow
perspective.

I judge a book harshly if it tells lies.

John
 
T

Tim Streater

John G Harris said:
<snip>

Your best bet is to learn to look up details in ECMA 262 and the W3C DOM
specs.

I haven't looked there but my guess would be that, like all specs, they
are formally correct but lack readability and have few examples.
 
S

Scott Sauyet

Gene said:
     Well, I am, but no use ranting.  I was expecting more than two
books, and at least one that is not flawed.  From what I read of the
links, both are flawed.  (Yes, I might be wrong about this, but if I
knew for sure, I would not need that FAQ's answer.)

All programming books I've ever read are flawed in some way or
another. These two seem to be by group consensus here the least
flawed. Flanagan's book really is thorough and its mistakes are not
ones likely to trip up beginners or even intermediate programmers.
(I've only started reading the sixth edition, but I've owned three
previous ones.) Crockford's book is more problematic because it takes
such a strong stand, and implies that anything that's not in his list
of good parts should in all cases be avoided, which is usually not the
case. But I still recommend it to anyone who already understands the
basics of the language as a good starting point for what to avoid.

These days, I'd also suggest, with some caveats, Stefanov's
_Javascript Pattern_ and Zakas' _High Performance Javascript_. I've
heard really good things about Haverbeke _Eloquent Javascript_ as a
beginner's book, so when my 15-year old son was looking to learn some
JS, I suggested it to him, and I think it's working well for him. One
other interesting book is Johansen's _Test Driven JavaScript
Development_, which focuses on writing JS in a very testable manner,
but which might actually work as a tutorial for how to built a medium
sized project -- not a first book, but possibly a good second book.
     That would be fine.

The trouble with trying to really learn JS from it is that there is no
clear path through all the material if you like to learn these things
through hands-on projects. If you're the type who can read a
reference book through and then start working on a project, referring
back to it as necessary, this is worth your time. But for anyone who
does JS and likes to have reference books handy, this is by far the
best one.

     I have strong opinions myself, but I would not presume to wrap
them up with a language.  I do not want to buy into a bias.  After I
know more, I might round out with such a text, but then, I would know
more what I was getting into.

Any reading you do is going to be by a biased author. Crockford makes
his biases readily apparent, and generally backs them up. This pithy
books sums up much of the strength of the language. I would
definitely recommend reading it. Just remember that you still need to
understand the parts he calls bad, even if only to prevent yourself
from using them, but more likely in order to really understand when
they might still be useful.

[ ... ]
     My troll detection is pretty good.  For this group, I have one
flagged.  Another poster is questionable (not necessarily a troll as
such, but his posts are very difficult to interpret).

Just be careful with this. In this group, the people with the most
off-putting personas are often the most knowledgeable and the most
likely to have truly insightful points to make. There are plenty of
others who are also quite interesting and helpful and not so
obnoxious, but don't discount the annoying ones too much.

-- Scott
 
Ad

Advertisements

G

Gene Wirchenko

On 01 Jan 2012 13:11:34 GMT, "Evertjan."

[snip]
Happy New Year, Gene,

And you.
Yes I am simply assuming it is obviously incorrect, based on the total of
the information you gave. [including slang wording.] Requiring me to
incalculate information that you did not give or requiring me not to
respond, because you possibly did not give such, is incorrect.

If you are going to claim that something is obviously incorrect,
I do not think that it is at all out of line for me to require that
you actually know what you are talking about. You admit that you did
not know a term that I used, yet you still made your statement. Do
you really not see anything wrong with your behaviour?
You seemed to assume the right to an answer on Usenet,
and so declare anyone that does not anwer the way you want a troll.
No.


"has"?

A troll is not a troll just because you do not like a response.

That is true. It is also true that I can consider someone to be
a troll, and that person actually is one.
Shall we return to the beauty of programming [in javascript]?

btw, what is your definition of this "snark" slang?

To make a nasty remark about something, especially when it is
uncalled for.

Sincerely,

Gene Wirchenko
 
G

Gene Wirchenko

I haven't looked there but my guess would be that, like all specs, they
are formally correct but lack readability and have few examples.

I was going to write something like that, but I decided to read
your response first. You nailed it.

I did try reading the spec. I got a fair bit through it, but
yes, the readability was not high, examples were rare, and most
importantly, the why was missing. (The why is why one would use a
given facility.) A spec is rather tactical; I need something
strategic, too.

Sincerely,

Gene Wirchenko
 
T

Tim Streater

Gene Wirchenko said:
I was going to write something like that, but I decided to read
your response first. You nailed it.

I did try reading the spec. I got a fair bit through it, but
yes, the readability was not high, examples were rare, and most
importantly, the why was missing. (The why is why one would use a
given facility.) A spec is rather tactical; I need something
strategic, too.

Good analogy. It's why I've been pushing that you get a book or two, I
wasn't just teasing (well, not much anyway :)
 
Ad

Advertisements

D

Dr J R Stockton

In comp.lang.javascript message <[email protected]
individual.net>, Sun, 1 Jan 2012 17:14:39, Tim Streater
John G Harris said:
<snip>
Your best bet is to learn to look up details in ECMA 262 and the W3C
DOM
specs.

I haven't looked there but my guess would be that, like all specs, they
are formally correct but lack readability and have few examples.[/QUOTE]


They are not good for a naive beginner programmer to learn a language
from. But Gene is not a beginner programmer.

For particular JavaScript points, such as the escapes that GW was asking
about in another thread, one can easily search 262 for appropriate words
and see what is said nearby.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top