This is one of my favourite blog posts of all time. It is no longer published, but I found it on the wayback machine (internet archive). I am reposting it here for your enjoyment. I hope the original author doesn't mind.
Originally by By Dan Lee, 9 September 2010.
The typical beginning of an Enterprise Developer’s JavaScript education is involuntary in nature. In many cases an engineer with a strong background in Java, or other strongly-typed languages, is informed that their next project requires JavaScript. Like all forced actions, this will be a bumpy road. So bumpy in fact, that the Enterprise Developer will go through a grieving process as they leave behind their beloved strongly-typed language and plunge into the duck-typed world of JavaScript. This process of grief has four distinct stages.
As I discussed earlier, the Enterprise Developer’s usual introduction to JavaScript is less than stellar. Rightly so, when a developer hears that the next ‘Big Project’ will be done in JavaScript, their first thoughts are of the skeptical variety.
Forced to learn JavaScript, the former-Java programmer decides that their 10 years of working with Java is more than enough experience to dive right in. Frustration of the highest order soon follows.
The most important stage. If the Enterprise Developer does not quit in spectacular fashion, the only other choice is to request time from management for some much-needed JavaScript education. Once the fundamental aspects of JavaScript are learned, productive results soon follow. Our Enterprise Developer recognizes that JavaScript has some good stuff in it, has discovered a great JavaScript toolkit like Dojo, and is producing efficient, cross-browser code. To be certain, the developer still hates JavaScript, however, this emotion has been put in check for the good of the project.
The final stage of JavaScript grief is one of gushing adulation. Most developers will remain indefinitely in Stage Three, but there are exceptions. The developer that reaches the ‘Love’ stage of JavaScript Grief has completely looked past all of JavaScript’s short-comings and finds joy in its powerful concepts.