The Douglas Crockford Experience

Douglas CrockfordDuring the last two days, I’ve attended a JavaScript course by Douglas Crockford arranged by my workplace eBay. Luckily for me, Doug works at eBay (or PayPal as a matter of fact), which eased the process of convincing him to fly to Denmark and teach 20 C# programmers some JavaScript. When arranging education with big shots like Doug, you don’t have much to say about the content, but to my delight, the agenda sounded very promising:

  • Programming Style and Your Brain
  • And then there was JavaScript
  • Function the Ultimate
  • Metamorphosis of Ajax
  • Principles of Security
  • Fun with Functions (workshop)
  • Syntaxation
  • Managing Asynchronicity

If some of the sessions sound familiar, it’s probably because the course is made up of different talks that Doug already did or will do at various conferences.

Programming Style and Your Brain

The first session was a fun introduction to best practices when writing JavaScript and other programming languages. The session also introduces JSLint which I was familiar with from my work on HippoValidator (which uses the fork JSHint BTW).

And then there was JavaScript

The second talk is more focus on the history of JavaScript as well as details about the syntax and features in the language. I personally thought that this session should have been given before Programming Style and Your Brain, but nevertheless this session was a great introduction to JavaScript and why the language turned out the way it did.

Function the Ultimate

Third installment was a great introduction to functions, this, closures and other important stuff. This session really made a lot of orphan pieces fall into place in my brain. I highly recommend this session which is available.

Metamorphosis of Ajax

The Metamorphosis of Ajax didn’t concern that much about Ajax, but more around the history behind HTML as well as a basic introduction to the DOM. The content was a bit too basic for me, but would probably work better when presented for people who have done a little or no web development.

Principles of Security

I felt like this session was the weak link of the day. If it was because of the time of the day or the subject, I’m not entirely sure, but the subject never really caught my interest. Don’t misunderstand me, I’m usually into security, but the introduction where too general and didn’t provide a lot of new knowledge (for me at least).

Fun with Functions

The highlight of the two days was definitely the workshop: Fun with Functions. Doug had created a set of exercises building on the knowledge gained in the first couple of sessions. Almost all of the exercises build on top of the previous and the pace were fast enough to keep my constant focus. I felt like knowing pretty much about JavaScript before doing the exercises, but ended up learning quite a big deal. Its fun how the hands on experience of any course I’ve attended, almost ended out being the most rewarding part of the game.

Syntaxation

The syntaxation session sort of went over my head. The talk is mostly targeted language designers and even though the talk was sort of interesting, I don’t think that it really matched rest of the content. If you like diving into the deep of syntax parsing, this talk will probably do you quite well.

Managing Asynchronicity

Doug will be giving the Managing Asynchronicity talk later this year at the GOTO conference (in Århus near where I’m living). The material where still a bit rough, but considered the fact that Doug never did this talk before, I’m curious to see how it turns out at GOTO.  The talk is about two of Dougs projects: RQ and JSCheck. The part about JSCheck was the more concrete part of this session. RQ looks a bit academic, but considered the first commit happened two weeks ago, I’m looking forward to see what has happened in the time for GOTO.

Conclusion

Two great days in the company with a teacher that knows EVERYTHING about JavaScript. The mornings were absolutely great with the three sessions about JavaScript history/features and the workshop.