YUI Theater: Douglas Crockford, The JavaScript Programming Language

By Eric MiragliaJanuary 24th, 2007

Douglas Crockford provides a comprehensive introduction to the JavaScript Programming Language.I’ve shared on YUIBlog and in the YUI Theater two presentations created by Yahoo! JavaScript Architect Douglas Crockford (“Advanced JavaScript” and“An Inconvenient API: The Theory of the Dom”). Today I’m happy to announce that Douglas’s more foundational talk “The JavaScript Programming Language,” is publicly available. In this presentation, which is meant to be the beginning of the three-course sequence (followed by “Theory of the DOM” and then “Advanced JavaScript”), Douglas explores not only the language as it is today but also how the language came to be the way it is.

It’s always worth pointing out that ideas and perspectives are Douglas’s own and that the many eggregious flaws in videographic craftsmanship are mine.


  1. Douglas Crockford jetzt auch als iPod-Futter…

    Im YUI-Blog gibt es seit gestern Douglas Crockfords umfassende Einführung in die "Javascript Programming Language" auch im iPod-kompatiblem m4v-Format zum Download.Aufgrund der Gesamtlänge von über einer Stunde habe ich es bislang nicht ges…

  2. [...] En el blog Yahoo! User Interface, se puede ver (por partes) un víde de Douglas Crockford  de una ponencia suya acerca del lenguaje JavaScript y lo que es, lo que no es, lo que se puede hacer, lo que no se puede hacer, etc, etc…  También es posible ver las diapositivas de la presentación en formato powerpoint. [...]

  3. [...] Yahoo hat eine Einführung von Douglas Crockford zu Javascript in vier Teilen zum Download bereit gestellt. Als Format wurde das iPod-Format “.m4v” gewählt, das mein freundlicher Betrachter VLC zum Glück klaglos abspielt. Vorsicht, die Dateien sind seeeehr fett. Ich habe die Videos noch nicht gesehen, denke aber, daß sie einen Blick lohnen. Hoffentlich wandelt Yahoo fortan auch die anderen ihrer bislang nur durch den Yahoo-Player anschaubaren Videos um. [...]

  4. I’ve been programming in Javascript for a very long time and I’d like to think that I’m pretty good at it. I still managed to learn a lot from this series. I really like Doug’s style. So when are we going to get to see the “Advanced” lessons that he mentioned all through his class?

  5. [...] I just watched the first part of Douglas Crockford’s presentation “The JavaScript Programming Language,” available over at the Yahoo! User Interface blog. I’ve done a bit of JavaScript programming, but I’ve already learned a couple things I didn’t know before. [...]

  6. [...] Javascript ile programlama hakkında güzel video anlatımı. Tek sorun İngilizce olması Link [...]

  7. @Ryan — The Advanced JavaScript class and The Theory of the Dom can be found in the YUI Theater. -Eric

  8. Another Douglas Crockford series of videos from Yahoo…

    There are some new Douglas Crockford videos available at YUIblog and the YUI theather.
    If you are a javascript lover like me and pride yourself about your JS code, you might want to see these.
    Douglas Crockford , beside being the Yahoo! JavaScr…

  9. [...] YUI Theatre – Javascript with Douglas Crockford – a must watch for the newbie or seasoned Javascript developers out there. [...]

  10. Excellent! Douglas Crockford is more than a replacement for Danny Goodman from days of old! The DOWNLOADABLE versions of this talk is super, SUPER appreciated. It is unfortunate that all YUI talks are not downloadable.

  11. [...] วีดีโอมาแปะในเว็บไว้เท่ห์ๆ อย่างเดียว จะดูจริงๆ แนะนำให้ไปดาวน์โหลดกันที่ YUI Blog [...]

  12. [...] Douglas Crockford, The JavaScript Programming Language (tags: tutorial Yahoo Javascript) [...]

  13. [...] The Yahoo! UI team has released a series of videos of Douglas Crockford’s The JavaScript Programming Language presentation. [...]

  14. [...] Yahoo! tarafından geliştirilen YUI‘nin (Yahoo User Interface) geliştiricilere kodlarının açılmasının ardından, YuiBlog sitesinde YUI geliştiricilerinin yazılarını görebiliyoruz. YUI ile yapılabilecekler için örnekler,  JavaScript hakkında ve YUI ile diğer teknolojilerin beraber kullanımları ile alakalı yazılar içeren blogda Douglas Crockford‘un 4 bölümden oluşan JavaScript hakkındaki faydalı videosu hem izlenebilir hemde indirilebilir haliyle bu adreste… Reklam [...]

  15. Il talk definitivo su JavaScript…

    Il progetto YUI ha recentemente reso pubblico il video del talk “The JavaScript Programming Language” di Doug Crockford, chief architect JavaScript di Yahoo! (non servirebbe dire altro) e indiscussa autorità riguardo a tutto ciò che concer…

  16. [...] Riporto il post di Tao che segnala quattro video (1, 2, 3, 4) di Douglas Crockford (Yahoo’s YUI) a riguardo di JavaScript. [...]

  17. [...] Douglas Crockford ou “Yoda of lambda programming and JavaScript” é líder de desenvolvimento JavaScript no Yahoo!, o qual disponibilizou uma  belissima apresentação em quatro partes que dispensa quaisquer comentários. [...]

  18. [...] That’s how Douglas Crockford explains JavaScript’s prototypal inheritance in this excellent set of talks now playing at your nearest YUI Theater. [...]

  19. [...] YUI Theater: Douglas Crockford, The JavaScript Programming Language » Yahoo! User Interface Blog (tags: programming javascript) [...]

  20. [...] YUI Theater: Douglas Crockford, The JavaScript Programming Language » Yahoo! User Interface Blog (tags: javascript video tutorial history programming) [...]

  21. [...] The Javascript Programming Language [...]

  22. [...] Yahoo! is making a few classes on Javascript available through their YUI Theater blog. The classes are given by Douglas Crockford, who is Yahoo!’s Javascript Architect. I took sometime this evening to go through the “Javascript Programming Language” presentation and learned a great deal about the language, which is going to be directly applicable to the work that I am currently doing at TransZap. I would recommend this presentation to anyone who is going to do extensive work using Javascript, which is essentially anyone doing Ajax or Web 2.0 work. [...]

  23. Would someone mention about our event on Feb 28 Wed at Yahoo Building C?

    Douglas Crockford is our moderator.

    Browser Wars: Episode II The Attack of the DOMs

    How these battles start with Javascripts and DOMs

  24. Now that m4v files are provided for these lectures, can you please provide m4v formats for other Crockford’s lectures (namely Advanced JavaScript and Theory of the DOM)?


  25. @Splintor: In a word, yes. M4v versions of those files will be available at http://developer.yahoo.com/yui/theater in about two weeks. Regards, Eric

  26. [...] Strongly Typed Because my job is changing, I’ve been spending some time learning some other languages since I’ve been focused on Java and XML tools for the last few years. So, I’m refreshing my skills in C++ and PERL and trying out JavaScript and LSL. All my Java programming has been done in Eclipse which does a wonderful job of flagging errors as you type. That is, the development cycle of “write, compile, fix compile errors, compile, …, run” because if Eclipse doesn’t show any errors while you’re typing, it’s sure to compile. So, what does this have to do with C++, JavaScript and most of the XML tools? After Java and Eclipse, I feel like I’m being thrown back 20 years to using Lint with my C programs. And this leads me to the topic of ’strongly typed’ languages. One of features of Java is it’s ’strong typing’. I don’t care about the JVM runtime checking (since code has to be robust and recover from all errors, the overhead of checking rather than just doing and faulting is questionable) but I care about the compiler and, in this case, the editor knowing what I want to happen — if I say itemCount is a string but then I add one to it something should be flagged; if I define a variable named height and then reference a variable named heigth something should ask me what I was thinking. This feature of the programmer defining something and then the compiler or editor being able to check the implications of that definition. But, now it is 2007, and Douglas Crockford (in his excellent JavaScript video lectures) recommends style conventions which allow running JSLint to save yourself from wasting time finding problems at runtime. Well, duh. He does mention that this capability is being added to the Eclipse JavaScript plugin, but, after all these years of computer science, couldn’t anyone see the language had problems? I have the same arguement with PERL and most of the XML languages (a typo in an XPath expression silently select nothing with know why to debug why, for instance). CSS is hard to get right on web pages because there is no check if the HTML being styled fits the formatting model that the CSS operates on. C++ lets you override methods in subclasses with no checking for the matching semantics. PERL, well, don’t get me started on PERL. My frustration is that, after 40 years of computer language design, this still isn’t obvious. Any language design should have a non-onerious method for the programmer to state his or her intentions and those intentions can be verified before you actually try executing the bits. Our focus should be on finding light-weight methods for expression of complex intentions not in making the latest light-weight language that has the problems of it’s predecessors. [...]

  27. @Eric: Indeed they are now. thanks.
    You might want to update http://yuiblog.com/blog/2006/11/27/video-crockford-advjs with these new downloads.

  28. [...] this post on the YUI blog about JavaScript videos in the YUI Theater. Its a great intro to the fundamentals of JavaScript and [...]

  29. [...] this man). There’s no embed for this but you can find the videos on 101out.com or over on YUI Theater.   I highly recommend these videos. You can also download the slides and if you scroll to the [...]

  30. [...] and “Event Delegation” (Bubbling). You can define where to catch the event, but experts like Douglas Crockford caution you against using the trickling method and instead let the browser reach the event target. [...]

  31. JavaScript is awesome: I want to work with Douglas Crockford!…

  32. [...] YUI Theater: Douglas Crockford, The JavaScript Programming Language » Yahoo! User Interface Blog (tags: javascript) [...]

  33. [...] The javascript programming language is a presentation of the origin of the language, how it evolved, and explains some design errors in the language and why they’re in the standard [...]

  34. [...] YUI Theater: Douglas Crockford, The JavaScript Programming Language » Yahoo! User Interface Blo… [...]

  35. Excellent tutorial!

    A minor question: in Part 2, there is a slide saying “objects are passed by reference..not passed by value”.

    I guess javascript and java follow the similar behavior in function argument passing. But explicitly in Java spec, “arguments are passed by value”.

    Although most developers know the behavior, the terms being used in different context are still confusing.

  36. Rechell Schwartz said:
    May 2, 2008 at 12:33 pm

    I can’t view any of the JavaScript videos. All I see is a black screen. Please advose

  37. Rechell — I don’t have great advice for you. The .m4v files might work better on some systems if you rename them .mp4; trying to view them in iTunes may also work (iTunes loves m4v). The Yahoo Video pages have worked on all Flash-enabled systems on which I’ve used them. Sorry for the troubles you’re having. Regards, Eric

  38. [...] YUI Theater: Douglas Crockford, The JavaScript Programming Language [...]

  39. Excellent! Douglas Crockford is more than a replacement for Danny Goodman from days of old! The DOWNLOADABLE versions of this talk is super, SUPER appreciated. It is unfortunate that all YUI talks are not downloadable.

  40. @loadedmovies: http://developer.yahoo.com/yui/theater — There may be one or two that aren’t downloadable, but the vast majority are. -Eric

  41. [...] and the Yahoo! JavaScript architect – and his YUI Theater lectures (a good starting point: JavaScript Programming Language and Advanced JavaScript). He also wrote a really good book about [...]

  42. Links to videos have been broken. Yahoo video says that the page cannot be found.

  43. The video links are broken! Can they be fixed? Same problem with the advanced javascript videos.