JavaScript: The Good Parts

Google TechTalks11 HN recommenders · 2009–2020
589K views · talk · dated · Uploaded 2009-02-28

Douglas Crockford's 2009 Google tech talk on the good and bad parts of JavaScript, based on his book. He argues for using a reliable subset of the language and avoiding its flawed features.

A classic recommended to people learning JavaScript, even though some find it dogmatic and dated.

Watch on YouTube

20 comments from Hacker News

@pkrumins2009 · in “JavaScript: The Good Parts”

That's not quite the same video. The one I linked to is from a few weeks ago, when he gave a talk at Google. ps. the youtube video works for me: [VIDEO] pps. someone changed my crazy title for this post, this one looks much better and shorter. thanks :)

@JBiserkov2009 · in “Javascript is now strategic for Microsoft”

When comparing Office 2007 (and 2010) with Office 97 one can clearly see these are not "the same old apps". Especially when combined with the Office Servers. JavaScript isn't such a bad language. It's essentially Scheme in C cloths. It has first-class functions, lexical closures, prototype-inheritance and more. Just avoid the bad parts. See this Google Talk by Douglas Crockford [VIDEO]

RecommendsView on HN
@mrduncan2009 · in “Doug Crockford Talk on JavaScript”

I didn't see any links to videos - here is one from his Google tech talk in February: [VIDEO] . He also has a number of videos on YUI Theater ( [LINK] ). I also recommend checking out the javascript page on his website, plenty of javascript related material to keep you busy for hours: [LINK]

RecommendsView on HN
@kreek2010 · in “The best JavaScript guide ever”

The best way I've found to learn JavaScript is through anything by Douglas Crawford. 'JavaScript the Good Parts' is especially good. [LINK] [VIDEO]

Strongly recommendsView on HN
@patorjk2010 · in “Ask HN: How to learn Javascript and HTML for devs coming from C++/Java/Python?”

I found the book "JavaScript: The Good Parts" by Douglas Crockford to be very helpful in understanding the language. It's short and covers the main things you'll need to know. It's a good starting place. In fact, he gave a tech talk on the main topics of his book which you can find here: [VIDEO]

RecommendsView on HN
@JonnieCache2010 · in “An Open Letter to JavaScript Leaders Regarding Semicolons”

Most of the controversy stems from the fact that Doug Crockford, widely regarded as the javascript expert, has been aggressively saying "Use semicolons at the end of every statement or you will be miserable" for years, particularly in his influential book "Javascript - the Good Parts." You can see a presentation where he reiterates this point, among others, here: [VIDEO] This blogger has a pretty compelling argument against this view.

@nlz12011 · in “Why ++[[]][+[]]+[+[]] = 10 in JavaScript”

Surprisingly, its semantics and "features" are often bizarre and sweat-inducing when compared to other languages. (Surprising for such a widely-used language). [VIDEO]

@funkah2012 · in “Javascript Best Practices”

Crockford's "JavaScript: The Good Parts" is the gold standard for best practices. Pretty much anyone who works in JS will recommend it. Here's a video which is a condensed version of what's in the book: [VIDEO]

Strongly recommendsView on HN
@just2n2013 · in “Learning JavaScript - my experience and advice”

TGP is mostly dogma. The title should make that very clear, but unfortunately, as usual, Crockford is short sighted so the title of his book is misleading, implying you might learn something about the language by reading it. A much more appropriate title would've been "JavaScript: Crockford's Best Practices for Experienced JavaScripters", or "What's Wrong With JavaScript According to Crockford." Then it's pretty clear what the book is doing, and doesn't trick readers into thinking it's an introductory or learning book. A few of Crockford's opinions are fairly widely accepted as good advice, but much of it is controversial at best, and in practice incorrect or misguided. If you are considering buying it, just watch the talk instead: [VIDEO] . As for the article: it's mostly sound advice. I will reiterate reading the source to underscore and backbone. I started recommending this lately to people after they get comfortable with the language. Many popular patterns and techniques are used in these code bases and they're very approachable from a reading perspective. I read both a few months ago to get up to speed on a new project and I found it quite enjoyable compared to reading the likes of jQuery or Angular.

CriticalView on HN
@bmaeser2013 · in “Ask HN: What's the best technical talk you've heard?”

3 awesome videos on very specific topics: Dr James Grime / Numberphile - Encryption and HUGE numbers [LINK] Les Hazlewood - Designing a Beautiful REST+JSON API [LINK] classic: Douglas Crockford - JavaScript: The Good Parts [VIDEO]

RecommendsView on HN
@dahart2013 · in “For modern development, Javascript is just something you need to learn”

I will admit to having been an anti-JavaScript elitist (without really knowing JS.) This video changed my mind: [VIDEO] (google tech talk, "JavaScript: the good parts") Two facts mentioned in the video that I didn't previously know and make me feel better about JavaScript: 1- JavaScript is lisp in disguise 2- The name JavaScript is an inside joke referencing the language's differences from Java, not its similarities. That was enough to make me change my mind, and I'm currently enjoying learning JavaScript unashamedly. Browser differences and lack of standards are a PITA, but OTOH, they all have awesome debuggers - HTML+JavaScript may be the only UI toolkit + dev environment that comes packaged with ALL computers, and for that reason has the widest reach. There's no question that the JS world is a bit wild west compared to other languages, but there's also no question that the situation is getting better over time, and that depending on what you're coding, there are huge advantages to using it.

Strongly recommendsView on HN
@inDigiNeous2013 · in “A spreadsheet in fewer than 30 lines of JavaScript, no library used”

Using both 'with' and 'eval' on the same line, nice ;) Douglas Crockford said in his excellent talk 'JavaScript: The Good Parts' that he highly recommends js -developers to avoid 'with', as it doesn't work correctly and for 'eval' he has to say 'If you are finding yourself using eval, you really are thinking about things the wrong way'. Source, starts where he is speaking about with and eval: [VIDEO] Are these statements still true ?

@nawitus2013 · in “JavaScript becoming the lingua franca for mobile development”

Most critics of JavaScript don't know the good parts[1]. Sure, JavaScript has problems, but convention and static analysis fixes a lot of it. In addition, you can use something like TypeScript if you don't prefer dynamic typing. And it must be said that JavaScript does some things better than C++/C#/Java, e.g. functions. These languages are only now starting to catch up. 1. [VIDEO]

@tangue2014 · in “Wonderful Javascript Talks?”

Classics John Resig : The Dom is a mess [LINK] Javascript, The Good Parts [VIDEO] Speed up your Javascript [LINK] Brendan Eich : Fluent 2013: Brendan Eich, "JavaScript at 18: Legal to Gamble" [LINK] Paul Irish : 10 things I learned from the Jquery source [LINK] Less known but very interesting Building High-Performing JavaScript for Modern Engines [LINK]

RecommendsView on HN
@innguest2014 · in “The Web’s Declarative, Composable Future”

1. [VIDEO] around 11:30. This is common knowledge, we should not have to repeat this every time we talk about this topic. 5. Where in npm (I've no clue what that is) can I find: 1. a calendar widget to put on my page? 2. an email, password, confirm password form to put on my page? You're not getting his point.

@baldfat2016 · in “Ask HN: Is there a good tour of the modern JavaScript landscape”

Having taught myself javascript in the mid-late 1990s and brought down a few servers by simple mistakes (Not always my own) I swore myself off the language and haven't looked back. Now I am looking to jump back in to do some app development and js seems the easiest way currently. I have looked at [VIDEO] JavaScript the good parts 2009. There seems to be much better handle on JS so I also would be interested in "Best Practice" for modern JavaScript development.

@Oatseller2016 · in “Ask HN: How should I start with modern JS?”

A good place to start is MDN (Mozilla Developer Network): [LINK] MDN Javascript resources: [LINK] Before starting the tutorials, take some time to learn what's available in the Firefox developer tools. You won't need most of them at first, but knowing what's available will help as you gain experience. The two developer tools you'll probably use most when leaning are the Scratchpad ( [LINK] ) and Console ( [LINK] ) [LINK] & [LINK] will also be very useful while learning JS I haven't taken any but Udacity has some javascript courses ( [LINK] ), just tick the "Javascript" checkbox under "Technology" in the left menu Some additional resources: [LINK] [LINK] [LINK] [LINK] [LINK] [LINK] Dated but still worth watching: [VIDEO] [LINK] edit: added addl. resources

RecommendsView on HN
@19eightyfour2017 · in “Ask HN: Resources for a beginner JavaScript developer?”

Unfortunately I don't know about the list you have, but if you are interested in one good way to approach JS basics (not suggesting you don't know the basics -- am saying I found the following resource useful for the basics, which help with building more advanced apps): JavaScript: the good parts talk is a useful resource, IMHO. [VIDEO]

RecommendsView on HN
@senthil_rajasek2018 · in “Ask HN: What you wish you'd known before getting into JavaScript?”

Surprised that no one has mentioned Douglas Crockford. I would recommend his book JavaScript: The Good Parts [LINK] And his Google Talk, [VIDEO] This is for plain JS.

RecommendsView on HN
@aazaa2020 · in “Orthodox C++”

Reminds me of JavaScript: The Good Parts by Crockford: [VIDEO] Strip away an older language's bad features. You end up with a sub-language with the advantage of portability and better maintainability. The problem can be deciding (and agreeing on) which language features are good and which are bad.