Professional JavaScript

Accepted Session
Long Form
Scheduled: Thursday, June 3, 2010 from 10:00 – 11:45am in Morrison


JavaScript is a unique and powerful language. Its ubiquity in the browser and its elegant concurrency model make JavaScript an ideal tool in a number of situations. Learn about the best ways to use and to understand this language from a full-time JavaScript professional.


This talk will examine some of the features that make JavaScript stand out, including its functional roots, its ultra-simple object-oriented implementation, and the details of event-based concurrency. All of these can seem quite alien when coming from a background in a different language. I will talk about how to get the best use out of these features – and I hope to show that the things that make JavaScript different are also its greatest strengths.

I will also go over common pitfalls in JavaScript development. These are non-obvious traps that unfortunately can put people off of JavaScript when they cause programs to behave in unexpected ways. As Douglas Crockford puts it, these are the “bad parts” that anyone who is working with JavaScript should be aware of.

Finally I will introduce some techniques for writing well-structured code for the client portion of a web application. Specifically I will talk about my own experiences using a model-view-controller pattern, making the best of JavaScript’s object-oriented features, and using events to implement re-usable components.

There is a lot of ground to cover when it comes to the best practices of an entire language. So I will introduce topics and point you to resources for learning more. I also expect lots of questions. I am most interested in getting people the information that they want; so your questions will help to guide this session so that it is as useful as possible for everybody.

Speaking experience