20 of 20 people found the following review helpful:
5.0 out of 5 stars
Another great one from Flanagan, September 10, 2004
This review is from: JavaScript: The Definitive Guide (Paperback)
If you're already an experienced programmer, it can be frustrating trying to find a good book on JavaScript (aka JScript, aka ECMAScript, aka ECMA-262). A lot of books out there are aimed at HTML developers, maybe even graphic designers. Many such users have little or no real programming experience, and maybe no real interest. Books for that audience are user-friendly, filled with useful examples, and low on scary-sounding technical terms. In other words, almost useless.
Flanagan has good credentials as a technical writer, and as a highly technical writer. He really knows what software engineers look for - trust me, it's not what a graphic designer looks for.
This starts with a clear, methodical description of the language. Flanagan goes through all the language basics, pointing out where JavaScript differs form languages like Java, C#, or C++. The differences are numerous. For example, JavaScript has typed data, but not typed variables. It's object oriented, but doesn't have classes. It's an interpreted language, not compiled, and that opens up generative programming possibilities that reflection APIs can't approach.
After the language itself, Flanagan presents it in the client-side HTML context, where it appears most often. That's about 20% of the book. It goes over all the common HTML features, and shows how JavaScript can add dynamics or configurability to most HTML features. The last part of this section discusses XML and the DOM model. It does not yet discuss the E4X standard, ECMAScript for XML, the new ECMA-357 standard. As of this writing, the standard has only been out for three months, though. I'm sure Flanagan will catch up to it soon.
The book's remaining three sections cover the language's basic APIs, the APIs needed in the client-side HTML context, and the DOM model. The first two are fundamental to any non-trivial use of the language, the last is the programming model that gives access to XML or XHTML in a rational, predictable way.
JavaScript has a number of very different user communities, with different needs when it comes to language documentation. This isn't a cut&paster's book, and is nothing at all like a training guide. It's a reference manual. If you're a serious techie, then this is the book for you.
//wiredweird
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
18 of 18 people found the following review helpful:
4.0 out of 5 stars
Buy V4, but don't throw away V3., January 8, 2002
This review is from: JavaScript: The Definitive Guide (Paperback)
Having recently shipped an open source JavaScript application framework comprising 125,000 lines of JavaScript (TIBET) I can say it would have been impossible without Version 3 of this book -- and impossible with only Version 4 of this book.
Where Version 3 focused on documenting the *reality* of the browsers, covering the various bugs and inconsistencies in detail, Version 4 abandons that approach in favor of documenting the *dream* embodied in the standards. While that's "a good thing", what's really needed, and what was provided by Version 3, is a volume that also covers how the browers vary from the standards. That's what made V3 the best JavaScript book on the market. Much of that content has been removed from V4 however.
V4 is a solid effort. Don't get me wrong. You should have a copy. The coverage is for the most part accurate and accessible. The new content on Mozilla and the DOM/CSS standards is solid. But the missing material means you can't toss all your other JS books and just settle down with JSTDG V4 :(.
With V3 you rarely needed to go anywhere else. With V4 I find myself looking back at V3 to check accuracy or going to the net to search for bug reports. The book just isn't as functional in the real world of web development. So buy V4, but don't get rid of that well-used copy of V3 just yet ;).
ss
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
33 of 37 people found the following review helpful:
4.0 out of 5 stars
Good book but 4th edition starting to become out-dated, February 21, 2006
This review is from: JavaScript: The Definitive Guide (Paperback)
I have had this book for years. I really like this book a lot.
It teaches you the language. It is a good reference for the syntax of Javascript 1.5. It also does a decent job of teaching DHTML. Some foreknowledge of HTML is going to be helpful. That can easily be gained from other books, reading the spec, or going through some of the HTML tutorials on the web. This book tells you how to access the structure of an HTML document - and change it.
Amazingly, it really did not start to become obsolete for almost half a decade. For a computer book on a heavily used computer language, that is great.
In late 2005, Mozilla released Firefox 1.5 which included a new version of Javascript: Javascript 1.6. Unlike some updates, this one was a doozy.
Javascript 1.6 introduced a feature called E4X - Ecmascript for Java. This powerful feature actually upgrades the language, making XML fragments a first class data type.
What this means is two things:
First, you can put XML fragments in your program. Just as quoted strings are interpreted as string literals, these fragments are treated as XML literals. No quoting or anything is required: the parser just sees them and knows what they are.
Second, you can evaluate XPath-like expressions to find things in an XML fragment value. Those things would be attribute values, text content, and elements that are in it.
Today, XML is much more important to organizations and much more useful to programmers than it was in 2001. It is a given that easier, more powerful ways for programmers to work with XML are going to grab programmers' interest.
Another thing has changed since 2001. AJAX programming has become white-hot. Website users like it because the system seems more responsive. Programmers like it because it lets them create web sites that seem more fun and are more impressive to a generation numbed-out by constant fill-in-form/Submit cycle of web pages. Companies like it because it AJAX is "in" and having it on their site can draw people to it by word of mouth or as marketable feature.
AJAX programming relies on the XMLHttpRequest object. That is not described in this book. Consequently AJAX programming is not explained in it.
A lot of AJAX components & effects libraries; e.g. Prototype.js, scriptaculous (script.aculo.us if you are looking for it on the web), etc., were in high gear by 2005. Since the book came out years before that, it does not mention any of these, tell what they can do, or explain how to write programs that use them.
Two other standards got added to Firefox 1.5 when it was released in 2005: SVG content and the CANVAS element. While CANVAS is a new invention, it is already supported by Apple's Safari 2 web browser that came with Tiger, released in early 2005. SVG is a very mature standard, invented in the late 1990s - but not really included in a widely distributed piece of software until Firefox included it. From watching what is going on in Apple's Safari development site, it seems likely Safari will gain SVG support sometime in 2006.
These 2 graphics capabilities are both important.
The CANVAS element is perfect for realtime and/or interactive graphics. For instance, it would be great for a "paint" program or a constantly-updated graph/chart display.
The SVG content is XML. The elements describe how to draw some shapes and text, fill them in, draw the borders, and perform transformations on them - as well as fancy effects like "shear". The power of SVG is huge. It can be used to draw all of the things described, plus more advanced things like "quadratic bezier curves". This makes it also suited to render art objects or sophisticated two-dimensional visualizations.
Now, go back to what is in the 4th edition of the book. The coverage of the different types of objects is covered in different sections - based on what the objects are used for. This is fine, but then there needs to be a special alphabetized index as well as detailed table of contents that shows you where to find each one - and what is in each section. Reading the whole book is not an option when you are in a hurry. When you are doing stuff on the web, you are always in a hurry. So, ways to find things quickly and survey quickly what is there - that is crucial.
I think a 5th edition of this book could be phenomenal, if it takes care of the omissions I have cited. Even in its present form, it does a good job of teaching the language - with the exception of the missing items I have noted.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No