Customer Reviews for JavaScript: The Good Parts

JavaScript: The Good Parts
by Douglas Crockford

JavaScript: The Good Parts List Price: $29.99
Our Price: $16.55
You Save: $13.44 (45%)
Availability: Usually ships in 1-2 business days
Buy Used: from $12.99 (click here)
Category: Book
See more book details and other editions


(Click here)

Book Reviews of JavaScript: The Good Parts

Book Review: Small, but dense
Summary: 5 Stars

When it comes to JavaScript, Douglas Crockford is "The Man". When it comes to browsers, JavaScript is "The Language". "JavaScript: The Good Parts" should be read - and comprehended - by every web developer, regardless of their programming proficiency.

This slim volume contains the essence of the JavaScript language. It is not concerned with the inner workings of JavaScript, nor is it a "Learn JavaScript in a Fortnight" type of book. It is more a meta-JavaScript guide of style, pointing out features and usage not available elsewhere, except perhaps at his website, "Douglas Crockford's Wrrrld Wide Web" (http://www.crockford.com).

Those new to the language may find this book to be like James Joyce's "Ulysses" - that is, incomprehensible. The use of closures, self-reference and passing functions as parameters to other functions takes some time to grasp fully. The end result is worth the time invested: you will be a better programmer for having digested the information provided by Mr. Crockford. Heck, you will be a better programmer even if you don't grok everything put forth in the book.

As the inventor and promoter of JSON, short for "JavaScript Object Notation", Mr. Crockford deserves much praise. JSON is a data interchange format made up of a JavaScript object. There are implementations of JSON for many other languages (visit the aforementioned web site for details). While not strictly a replacement for XML, JSON is as readable, requires no external parser to implement and can be operated on directly in any browser that supports JavaScript, and the major ones do.

I must admit, I am an addicted JavaScript programmer. I found Douglas Crockford many years ago, and while he does not know me, he has mentored me and brought forth a deeper understanding of JavaScript that also applies to programming in general. Comments, the use of whitespace, blank lines; these are things not often found in a web application.

I strive to always be a Good Programmer, and when I find myself slipping into old, bad habits, now I have a book to lift my spirits and show me the way.

Yes, "JavaScript: The Good Parts" is that good.

Book Review: At Long Last, A Serious Javascript Book
Summary: 5 Stars

For about as long as it's been about, Javascript has endured a plague of poorly written and presented books. "A Million and One Ways to Write a Rollover." Many books will treat writing a function as an advanced move. It is left as an exercise for the reader how to manage ones code when the scale surpasses the trivial.

Douglas Crockford, who works at Yahoo, is unable to leave these questions in the realm of the intellectual, and he is in growing company. The era of large Javascript applications is upon us. By large, I mean applications that are mostly javascript, rather than HTML documents with a splash of code. This is more than mere AJAX. This is true application development, and with the scale must come application scale rigor.

It is to the problems of serious application developers that Crockford addresses the book. This is *not* an introductory book. It is generally assumed that the reader knows what the building blocks are.

Instead, Crockford focuses on issues such as organization, error avoidance, and writing code touched by many developers.

More importantly, Crockford expresses opinions. Technology as a field is never short on opinion, but technology books are a wasteland. Good luck finding a volume that spends much time at all criticizing its subject matter. Crockford pulls no punches. If he doesn't care for a given design decision, he says as much. It is, in a word, refreshing. Would that more books offered such candor.

Even if you disagree with Crockford's answers, the exercise of working through his arguments will teach you to ask better questions.

In exchange, you will learn about some of the more powerful but under-used aspects of Javascript, such as closures and first class functions. Furthermore, Crockford's detailed descriptions will give you clearer insight into exactly how the language really works.

In sum, Javascript: The Good Parts is the sort of book that can move you to the next level in your javascript development. Thank the gods the age of platonic, useless JS books is behind us.

Book Review: Sound advice on coding to Javascript's strengths rather than fighting them
Summary: 5 Stars

This book is another in the series of books lately reclaiming Javascript as a powerful language that hasn't gotten it's due (see Stefanov's book for another good example). Crockford makes a great case for Javascript not needing to please the crowd of class based languages and instead using it's prototype functional roots to their max to achieve similar ends (code reuse, inheritance, private data..). His examples showing how to do class styled coding in javascript (though using prototypes in the inside, as that what the language has to offer) followed by a more pure object to object prototyping really sends the point across in comparing elegance and benefits of the latter over the former within Javascript's rules.

I found chapter 5 on the inheritance techniques to be way harder than the other chapters in the book. But after digesting some of it, I proceeded on to the next chapters. They did not build on it so much as they were covering other domains of the language, so it's not a show stopper to understand the rest of what crockford is after to show you which are of course "the good parts" in the other domains (regular expressions, built in objects...). I return to the fifth chapter periodically to further understand everything that's going on there and pick up something else each time.

It was also nice to have the "avoid this" opinion sections entitled "awful parts" and "bad parts". While some may be disputable, it's good to get a heavyweight's reasons on why to avoid them if possible.

The code is usually light and nicely explained. The errata in the oreilly site patch up the few oopsies here and there. I feel definitely more energized to write prototype based Javascript and learn some Ajax libraries without being afraid to peak in at their source if need be now and then.

Book Review: Do proper OO with JavaScript by tapping into its Functional core
Summary: 5 Stars

Java is an Object-Oriented language; JavaScript ain't. JavaScript provides no integrated support of type-inheritance, encapsulation or polymorphism - the cornerstones of the Object Oriented paradigm.

However, OO programming can be SIMULATED in JavaScript. There's more than one way to achieve this effect. In this short and illuminating title, Crawford delineates one such way, which relies on some peculiar features JavaScript has in common with functional programming languages, such as "Scheme". (Study the ASP.NET AJAX framework's client side, for a completely different way to go about it. Gallo et al.'s "ASP.NET AJAX in Action" explores this framework brilliantly).

In parallel, this book also serves as a well-reasoned best-practices manual for writing good JavaScript code (a la Crawford...). Crawford's simultaneously a fierce critic, and a starry-eyed lover of the language.
Her smiles, her frowns, her ups, her downs are, clearly, second nature to him, and, like a great tour guide, he'll walk you through the grotesque and the beautiful of this strange, and, oddly, remarkably popular, programming language.

This book is neither an introduction to JavaScript nor a reference thereto. It's certainly not about DOM scripting. The novice JavaScripter would benefit little from it, and, in fact, might find it utterly disheartening, due to Crawford's explicit, harsh criticism. Turn, instead, to the first and third parts of Flanagan's excellent "JavaScript, The Definitive Guide".

In the appendices of this books, you'll find a superbly succinct-yet-exhaustive descrpition of the popular JSON data-interchange format, of which Crawford himself is the designer. A complete listing of a JSON parser written in JavaScript is also available for you to delight in.

Book Review: JavaScript - Beyond the Basic Parts
Summary: 4 Stars

The title should have been, JavaScript: The parts the other books didn't go over. This book takes an academic approach to many concepts in JavaScript and programming theory. If topics such as memorization, curry, invocation don't scare you away then I suggest you dig into this book. The chapter on regular expression gives the reader a different look at how to view the topic as objects rather than the typical "how to match expressions" lesson. I felt that the "style" chapter was a bit light in that it did discuss some best practices for style use in coding such as using the K&R style for block statements but did not dive into other typical topics on style such as variable names. I also found the syntax diagrams used throughout the book to be extremely helpful in understanding the syntax for the methods and functions he discusses.

Like some of the other reviews, I might disagree with some of the suggestions based on how one uses JavaScript. For example, the author states that "Scope" is an awful part of the language. It could also be looked upon as a benefit to the language when the developer is looking to just build some extra code embedded within html. Some of the issues he brings up on reserved words can also be argued that most developers use common sense in picking variable names and wouldn't probably call a variable "method" even though you can in the language.

If you are already a confident Object Oriented developer or a well seasoned JavaScript developer then take a look at this book. If you are a rookie to the language or looking for a cookbook method of learning, I would suggest you look at some of the other JavaScript texts from O'Reilly.
More Customer Reviews:
1 2 3 4 5 6 7 8 9 10