1st out of 23 books
—
30 voters
JavaScript: The Good Parts
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole-a subset you can use to crea...more
Paperback, 153 pages
Published
May 15th 2008
by Yahoo Press
(first published January 1st 2008)
Friend Reviews
To see what your friends thought of this book,
please sign up.
Community Reviews
(showing
1-30
of
3,000)
For an experienced developer who’s hacked things together while glancing at an online reference, JavaScript: The Good Parts seems like a good place to start learning the language properly. As the title indicates, the book consists of Crockford’s opinions about how to use JavaScript’s better features and avoid the bad ones. Being a relative JS novice, it’s hard for me to evaluate his judgements, but I’m glad to now have at least someone’s best practices to work with. Crockford’s descriptions of J...more
This book is a pleasantly succinct tour of only the most powerful aspects of JavaScript. For anyone coming from another programming language and perplexed by JavaScript (as I was), this book will definitely help you to understand the logic of its strange design. Everything in JavaScript (be it a string, array, number, etc.) is actually an object, and every object is built from an object prototype. Most amazing is the fact that you can actually augment these prototypes with your own customized me...more
I read JavaScript not because I plan on programming for the web, but because I need to figure out how to get my models and code onto computers in an organization with very restrictive policies on installing programs on computers, and the browser seems like one way to do it. That said, I'm not interested in things like DOM, but I want to be able to use Javascript (or at least the environment) well.
JTGP reads like a reference. Like O'reilly's Nutshell series, there are parts essay where he explain...more
JTGP reads like a reference. Like O'reilly's Nutshell series, there are parts essay where he explain...more
This would be a 3.5 star is I could rate it that. I think my expectations were off going into this, as I expected an "in depth" look at language features for people who already knew JavaScript. Instead, I felt like it was also trying to teach the language to newcomers and spent a lot of time on bits and pieces that I would assume someone who works with the language would already know.
It moves incredibly quickly, which for the most part is a point in its favor. In several spots, though, I wish th...more
It moves incredibly quickly, which for the most part is a point in its favor. In several spots, though, I wish th...more
A concise, opinionated coverage of JavaScript for experienced developers. This is not a beginners book.
The book begins by describing the language Grammar using railroad diagrams. This is immensely helpful in forming a mental diff against whichever imperative C-based language you're coming from (C, C++, Java, etc.).
I found the coverage of object construction (new, constructor functions) confusing. I had to re-read it to understand what was going on. This is partly due to JavaScript's pandering to...more
The book begins by describing the language Grammar using railroad diagrams. This is immensely helpful in forming a mental diff against whichever imperative C-based language you're coming from (C, C++, Java, etc.).
I found the coverage of object construction (new, constructor functions) confusing. I had to re-read it to understand what was going on. This is partly due to JavaScript's pandering to...more
As I understand it, JavaScript, the language, is a victim of the fight between Microsoft and Netscape, where the standardization process (ECMA? Really? Later known as the purveyors of fine standards like C# and Microsoft's CLI?) was used as a battleground, where features were strategically added to and removed from the draft standard while the implementations fought to catch up. JavaScript was originally a fairly decent language, with some eccentricities. Afterwards, it is a minefield of weird v...more
I don't think the importance of JavaScript in our current world can be overstated. Nor can the work of Douglas Crockford to legitimize JavaScript by extracting and promoting subsets of the language which are brilliantly designed. In the case of JSON, he recognized JavaScript's object notation as a wonderful and concise way to describe data structures. In my opinion, JSON is vastly superior to XML in every way.
I came to this book after watching Crockford's wonderful companion lecture at Google Te...more
I came to this book after watching Crockford's wonderful companion lecture at Google Te...more
A short, dense book, describing a subset of Javascript and distinguishing which parts of the language "should" be used and which not. The author wrote JSLint, a widely-used tool for enforcing his preferences on your scripts. The preferences he wrote into JSLint are reflected here.
Some of his opinions seem obsessive and eccentric (it's not OK to write "i++"?), but others are invaluable. For example, you should make a habit of following the Kernighan & Ritchie style of braces: that is, you sho...more
Some of his opinions seem obsessive and eccentric (it's not OK to write "i++"?), but others are invaluable. For example, you should make a habit of following the Kernighan & Ritchie style of braces: that is, you sho...more
Jan 07, 2010
Lea Verou
rated it
4 of 5 stars
Recommends it for:
Programmers (of other languages) who want to learn JavaScript
Crockford's book is already considered one of the classic JS books and I agree. Not because its complete (it only touches ECMAScript core, not even DOM), or particularly good at making things seem simple (it probably makes them look overcomplicated). Its because it approaches JavaScript in a completely different way than probably any other book you've read. It broadens your horizons as a JS developer, makes you think differently. And as soon as you finish it, you haven't only learned a few facts...more
I was never going to be thrilled with this book because ugh, javascript.
But I was expecting more than a typical 2-star throwaway tech book. It was hard to get past the inconsistency (globals variables are bad, let's tack new methods onto global prototype objects!), bad editing, and repetition (I think one code snippet was repeated a total of 3 times).
A lot of people seem to like this book. If the idea of subsetting a language to produce a better variant is new to you, or if you've been stuck in...more
But I was expecting more than a typical 2-star throwaway tech book. It was hard to get past the inconsistency (globals variables are bad, let's tack new methods onto global prototype objects!), bad editing, and repetition (I think one code snippet was repeated a total of 3 times).
A lot of people seem to like this book. If the idea of subsetting a language to produce a better variant is new to you, or if you've been stuck in...more
Jun 20, 2012
Brian
rated it
4 of 5 stars
Recommends it for:
people who think they know JavaScript
Recommended to Brian by:
Dan
(4.0) Opened my eyes to how JavaScript really works, but had some bad bugs
I've been using JS for a while now, just throwing stuff together and getting things working, copying patterns observed elsewhere. At times I saw some unfamiliar structures (particularly of the anonymous functions that return functions getting invoked immediately variety, etc.), but chose to ignore them. All the while I assumed it was actually an OO language. How wrong I was.
This was quite helpful for someone familiar with...more
I've been using JS for a while now, just throwing stuff together and getting things working, copying patterns observed elsewhere. At times I saw some unfamiliar structures (particularly of the anonymous functions that return functions getting invoked immediately variety, etc.), but chose to ignore them. All the while I assumed it was actually an OO language. How wrong I was.
This was quite helpful for someone familiar with...more
JavaScript is a language of great contradiction. It is one of the most widely used programming language. But the language has also carries a lot of design problems, many have born from its original sponsors' Microsoft and Netscape's bitter rivalry.
Douglas Crockford has the idea to highlight the good part of the language but also to warn the unsuspecting programmers of its bad parts. He deliberately select a subset of the language and put it into a small book. While this is a commendable approach...more
Douglas Crockford has the idea to highlight the good part of the language but also to warn the unsuspecting programmers of its bad parts. He deliberately select a subset of the language and put it into a small book. While this is a commendable approach...more
This book is fantastic. There are at least 400 pages-worth of information crammed into those 176 pages. This book is definitely not written with the beginner programmer in mind. Even for an intermediate programmer such as myself, I often needed to read sentences three or four times in order to understand them. (Not because the writing was sloppy, but because of having to scour the depths of my brain to remember the meaning of terms like "lexical scope" and "prototypal inheritance").
I love this...more
I love this...more
An enjoyable read that takes you on a whirlwind tour of pitfalls of Javascript. I gained a deeper appreciation of the language, understand it more thoroughly, and felt that the pace was good.
I can recommend this book to an experienced programmer who is already familiar with a lot of concepts in programming languages, and simply needs a fast intro to Javascript. If you're not as comfortable though, you will get lost. The exposition is short... but sweet.
Lastly, one bad point I can think of is tha...more
I can recommend this book to an experienced programmer who is already familiar with a lot of concepts in programming languages, and simply needs a fast intro to Javascript. If you're not as comfortable though, you will get lost. The exposition is short... but sweet.
Lastly, one bad point I can think of is tha...more
Jul 12, 2012
Rick Toews
is currently reading it
My initial thought was to use this book as a reference; however, at a friend's suggestion, I'm reading it from one end to the other--and there's a lot of interesting stuff. I appreciate, for instance, the discussion of the four different ways "this" can be set in an invocation pattern; and it was helpful to be reminded of the JavaScript reserved words--although the list in the book contains about 60, whereas lists on the Web from Microsoft and Mozilla appear to have only 26. (And testing a few o...more
Wisdom drips from every page of this slim volume. It reveals the power of JavaScript, and, where possible, idioms for elegant design and coding.
It is by no means an easy book. It is not a beginner's entry point to the language. Indeed, a real understanding of programming language semantics is needed to appreciate its lessons. Disappointingly, this means that its influence can at best be only indirect: if others turn its wisdom into more accessible tutorials.
My complaints would be two-fold. First...more
It is by no means an easy book. It is not a beginner's entry point to the language. Indeed, a real understanding of programming language semantics is needed to appreciate its lessons. Disappointingly, this means that its influence can at best be only indirect: if others turn its wisdom into more accessible tutorials.
My complaints would be two-fold. First...more
Crockford writes persuasively about the elegant and powerful features that lurk within Javascipt that often get forgotten about due to the (admittedly numerous) failings in other parts of the language.
By restricting yourself to only the good parts, and taking some simple steps to mitigate the bad as far as possible, Crockford shows how it is possible to write Javascript programs that are readable and maintainable. Which might come as a surprise to many of the Javascript sceptics out there, and I...more
By restricting yourself to only the good parts, and taking some simple steps to mitigate the bad as far as possible, Crockford shows how it is possible to write Javascript programs that are readable and maintainable. Which might come as a surprise to many of the Javascript sceptics out there, and I...more
Crockford's philosophy, well-encapsulated in the Preface and tenth chapter, is one that I fully endorse and subscribe to. I realize that he's basically just talking about the convention of "best practices", but he really buys in to the concept and literally takes the reader through the language, pointing out all of the good features and making special note of the bad ones. His commitment to this philosophy makes this an above-average book for learning a language, and makes it a great reference d...more
Why did I read this? I assure you, it was entirely against my will. My job has changed, so I'm a "developer" now. This involves a mishmash of Delphi, T-SQL, C#... and Javascript.
My experience with Javascript was limited to silly UI gimmicks and doing my damnedest to avoid using it in my own websites. Despite my prejudices, the world has moved on. The language has been scrutinized keenly and closely by intelligences greater than mine, and this book was the result.
It's shorter than expected (don't...more
My experience with Javascript was limited to silly UI gimmicks and doing my damnedest to avoid using it in my own websites. Despite my prejudices, the world has moved on. The language has been scrutinized keenly and closely by intelligences greater than mine, and this book was the result.
It's shorter than expected (don't...more
As someone trying to learn JavaScript, I thought this was a useful book to have. I've learned most programming and scripting by doing it, but I've learned that doesn't necessarily help one learn a language. At the moment, it's somewhat difficult for me to grasp how JavaScript syntax works - which is why I'm also using a QuickStart guide. Having them together I have a much better understanding of what the guide is asking me to do and what this book is explaining about each element.
I've used guid...more
I've used guid...more
Such a good book. I'm a JavaScript newbie who has hacked many scripts over the years. Much of the frustration I've had with JavaScript is from browser-specific issues - when borrowing a script from a random webpage doesn't work as expected.
This book doesn't get into that detail because the book is about language features, and it gives me confidence in the language as being useful and powerful in spite of its implementations and in spite of the sloppy code I've used and written in the past.
As a b...more
This book doesn't get into that detail because the book is about language features, and it gives me confidence in the language as being useful and powerful in spite of its implementations and in spite of the sloppy code I've used and written in the past.
As a b...more
Just as they say there's a great single album in Sandinista!, I had heard that there was an elegant language hidden in JavaScript. Maybe there is and Crockford just doesn't know how to make the case for it.
This is a very thin volume, and much of it is padding (language reference, grammar, etc...) About half is incredibly ugly workarounds, e.g. to create private scopes in a language that doesn't provide it.
The "Good Parts" are: Prototypical Inheritance, Duck Typing and 1st-class Functions. If you...more
This is a very thin volume, and much of it is padding (language reference, grammar, etc...) About half is incredibly ugly workarounds, e.g. to create private scopes in a language that doesn't provide it.
The "Good Parts" are: Prototypical Inheritance, Duck Typing and 1st-class Functions. If you...more
This is a not a book for beginners, and that is one of its strengths. Crockford tersely covers his subject and is able keep the book under 150 pages, including the appendices.
Crockford does cover the basics of the language, but not in a depth that would be useful to someone unfamiliar with JavaScript. Instead, it's designed to point out the good and bad things about each feature. That is another one of the book's strengths: if he doesn't like one of JavaScript's features or idiosyncrasies, he do...more
Crockford does cover the basics of the language, but not in a depth that would be useful to someone unfamiliar with JavaScript. Instead, it's designed to point out the good and bad things about each feature. That is another one of the book's strengths: if he doesn't like one of JavaScript's features or idiosyncrasies, he do...more
Someone once said that JavaScript is like a scalpel—in the wrong hands it's dangerous, but in the hands of a surgeon, it provides incredible power. Here, author Douglas Crockford continues his decade-long evangelism of the world's most popular web-based language and shows you how to avoid cutting yourself while illustrating the adeptness of the language. Crockford deconstructs the language into the bad parts that you should avoid (with, eval, continue, new, void, etc.) and the good parts to embr...more
“We see a lot of feature-driven product design in which the cost of features is not properly accounted. Features can have negative value to consumers because they make the products more difficult to understand and use. We are finding that people like products that just work. It turns out that designs that just work are much harder to produce than designs that assemble long lists of features.
Features have a specification cost, a design cost, and a development cost. There is a testing cost and a r...more
Features have a specification cost, a design cost, and a development cost. There is a testing cost and a r...more
A nicely-paced, well-written book about Javascript that actually made me interested in Javascript. And it's short/concise, which is a benefit of a programming book nowadays. When you can get a general reference for free on the internet, there's no need to include comprehensive references in a book.
(One technical complaint, which I think is fair since this is a technical book: the fixed-width font looked way too much like the normal font. In a book with lots of code examples, and code embedded oc...more
(One technical complaint, which I think is fair since this is a technical book: the fixed-width font looked way too much like the normal font. In a book with lots of code examples, and code embedded oc...more
This is a must-read book if you use Javascript seriously. When I put the book down, I'd learned and understood a few critical ideas about using Javascript that are changing the way I program. In particular, I found the section related to object creation (prototypal inheritance, implications for using the new keywords, etc.) I also greatly enjoyed the appendices -- I eat up lists like the awful and bad parts of Javascript, and the introduction to JSLint is going to be very fruitful. Not everythin...more
I decided to read JavaScript: The Good Parts because I recently started doing JavaScript professionally and noticed there seemed to be more warts than usual for a programming language. Unfortunately, it turns out the title is misleading as the book spends most of the time covering parts of JavaScript that should be avoided. The good parts consist of a prototypal object system, closures, and array and hash literals. Aside from the prototypal object system, many other languages have these features...more
Many programming books are funny because their authors make jokes. Why's (Poignant) Guide to Ruby comes to mind. Javascript: The Good Parts, however, is the first programming book that has ever made me laugh out loud when the author wasn't telling a joke. Case in point:
undefined and NaN are not constants. They are global variables, and you can change their values. That should not be possible, and yet it is. Don't do it.Any developer who has ever written Javascript is likely to have been confound...more
An appropriately opinionated exploration of JavaScript. The exhaustive diagraming of the language syntax and common methods can be skipped by those who have used the language before. The observations in the chapters on Functions (4), Inheritance (5), Style (9), and lists of gotchas in appendices Awful Parts (A) and Bad Parts (B) make this a must read for anyone developing with JavaScript. The author has a very strong point of view that is presented throughout the book, but I found warranted give...more
| topics | posts | views | last activity | |
|---|---|---|---|---|
| Like this book? Join the O'Reilly Media Fan Page | 1 | 20 | Nov 16, 2009 10:37am |
Goodreads is hiring!
Share This Book
No trivia or quizzes yet. Add some now »
“We see a lot of feature-driven product design in which the cost of features is not properly accounted. Features can have a negative value to customers because they make the products more difficult to understand and use. We are finding that people like products that just work. It turns out that designs that just work are much harder to produce that designs that assemble long lists of features.”
—
4 people liked it
“Computer programs are the most complex things that humans make.”
—
0 people liked it
More quotes…

Loading...






















Jun 15, 2012 01:02pm
Oct 25, 2012 03:06pm