Share your knowledge and create a knowledgebase.
JavaScript, aka Mocha, aka LiveScript, aka JScript, aka ECMAScript, is one of the world’s most popular programming languages. Virtually every personal computer in the world has at least one JavaScript interpreter installed on it and in active use. JavaScript’s popularity is due entirely to its role as the scripting language of the WWW.
Despite its popularity, few know that JavaScript is a very nice dynamic object-oriented general-purpose programming language. How can this be a secret? Why is this language so misunderstood?
The article by Douglas in Crockford.com clearly shows the lack of knowledge or misunderstanding people have about JavaScript.
I do believe that there can be several reasons why people haven’t taken the JavaScript as strongly as they took other server side languages like PHP, Ruby etc though JS is used in almost all the websites.
The problem of JavaScript is that for years there have been no decent debugging tools. Because of that it takes a huge amount of effort just to write stable code. At the end the day a programmer is so frustrated with JavaScript that at the point he’s not interested in looking into ‘cool’ features.
I think it’s libraries like Prototype, script.aculo.us, etc. that have breathed new life in to JavaScript. At any rate, they caused me to take a second look at the language and realize its power and usefulness.
I would highly recommend Dojo, http://dojotoolkit.org/, to anyone thinking of doing any type of semi-complex javascript or AJAX. It also has scads of utility scripts that, in the past, I have found myself writing over and over again.
Though the docs are currently sparse, there a large number of test cases that give great examples and the mailing list is incredibly helpful. Dojo is also great example of how to properly write OO javascript. They even use a package naming structure similar to Java to help organize code.
I have also found few people in my vicinity who thinks that COBOL is most misunderstood programming language.