JavaScript Book Recommendations?

Discussion in 'Javascript' started by Gene Wirchenko, Dec 30, 2011.

  1. 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
     
    Gene Wirchenko, Dec 30, 2011
    #1
    1. Advertisements

  2. Gene Wirchenko

    Mel Smith Guest

    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.

    -Mel Smith
     
    Mel Smith, Dec 30, 2011
    #2
    1. Advertisements

  3. 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.
     
    Jukka K. Korpela, Dec 30, 2011
    #3
  4. "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.
     
    Michael Haufe (TNO), Dec 30, 2011
    #4
  5. 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
     
    Gene Wirchenko, Dec 30, 2011
    #5
  6. 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.)
    That would be fine.
    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.
    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).
    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
     
    Gene Wirchenko, Dec 30, 2011
    #6
  7. 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]
    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
     
    Gene Wirchenko, Dec 30, 2011
    #7
  8. Gene Wirchenko

    Tim Streater Guest

    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.
     
    Tim Streater, Dec 30, 2011
    #8
  9. Gene Wirchenko

    Evertjan. Guest

    Gene Wirchenko wrote on 30 dec 2011 in comp.lang.javascript:
    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.
     
    Evertjan., Dec 30, 2011
    #9
  10. In comp.lang.javascript message <665sf7hv1a1r8dg54e9fm7tq1t0j17rudk@4ax.

    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.
     
    Dr J R Stockton, Dec 31, 2011
    #10
  11. On 30 Dec 2011 23:28:58 GMT, "Evertjan."

    [snip]
    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.
    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
     
    Gene Wirchenko, Jan 1, 2012
    #11
  12. Gene Wirchenko

    Evertjan. Guest

    Gene Wirchenko wrote on 01 jan 2012 in comp.lang.javascript:
    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.
    "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?
     
    Evertjan., Jan 1, 2012
    #12
  13. <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
     
    John G Harris, Jan 1, 2012
    #13
  14. 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?

    I judge a book harshly if it tells lies.

    John
     
    John G Harris, Jan 1, 2012
    #14
  15. Gene Wirchenko

    Tim Streater Guest

    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.
     
    Tim Streater, Jan 1, 2012
    #15
  16. Gene Wirchenko

    Scott Sauyet Guest

    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.
    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.

    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.

    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
     
    Scott Sauyet, Jan 2, 2012
    #16
  17. On 01 Jan 2012 13:11:34 GMT, "Evertjan."

    [snip]
    And you.
    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?
    That is true. It is also true that I can consider someone to be
    a troll, and that person actually is one.
    To make a nasty remark about something, especially when it is
    uncalled for.

    Sincerely,

    Gene Wirchenko
     
    Gene Wirchenko, Jan 2, 2012
    #17
  18. 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
     
    Gene Wirchenko, Jan 2, 2012
    #18
  19. Gene Wirchenko

    Tim Streater Guest

    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 :)
     
    Tim Streater, Jan 2, 2012
    #19
  20. In comp.lang.javascript message <timstreater-B1ECC6.17143901012012@news.
    individual.net>, Sun, 1 Jan 2012 17:14:39, Tim Streater
    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.
     
    Dr J R Stockton, Jan 2, 2012
    #20
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.