In light of Adobe’s recent communication blunders surrounding the abandonment of Flash Mobile forward development and subsequent aftershocks which are currently rocking the Flex world – attention turns even more to HTML5.

Sadly, when the term “HTML5” is used, it usually means “HTML and all that other (highly necessary) stuff like CSS and JavaScript”. This lumping of terms de-emphasizes the importance of JavaScript, yet JavaScript is incredibly important to the functionality of future – and current – web sites and more importantly – to web applications.

As more momentum and projects move to web applications, more JavaScript is used to power the frontend and in some cases the backend as well. This is all well and good – JavaScript is an incredibly flexible and expressive language, but it has never been accused of being highly maintainable.

There is a vast chasm between what’s needed with JavaScript to make an advertisement fade in and out on a page versus a full-fledged application such as Gmail – especially since not all browsers do things in the same way. JavaScript has no language-inherent constructs to deal with things like packaging or namespaces to help developers compartmentalize and break large pieces of code into smaller chunks. Find a good web app, view source, hunt down the JavaScript parts, and stare into the face of the future. It’s the type of thing that very expensive consultants will be coming in to fix or maintain in a few years.

I’m all for some unification in development output and I love the web, but JavaScript is going to need to go through some growing pains if it hopes to avoid a very tangled future.