Thursday, August 14, 2008

ECMAScript v4 derails…finally

ECMAScript v4 was bound to fail. It was making a drastic departure from the current standard, ECMAScript v3, by adopting ideas like: packages, namespaces, early binding, and optional static typing.

ECMAScript is best known for the Javascript dialect, a language that is availble in nearly every web browser. Javascript is powerful because it has a relatively simple syntax, and the flexibility of a dynamic language. The low barrier to entry has turned it into one of the most widespread lanugages in use today. It seems that the pioneers of ECMAScript v4 had lost sight of those benefits as they tried to turn ECMAScript into a "real" progamming langauge.

For whatever reason, Adobe (the company that ate Macromedia) drank the ES4 (ECMAScript v4) cool-aid, and they created AS3 (ActionScript v3). AS3 is based on early drafts of ES4, and it is the language for the latest versions of the ubuquitous Flash player. Adobe open sourced their Tamarin VM to help encourage the adoption of ES3. Then they marketed their "more mature" language so aggressively that Flash developers started convincing themselves that they were better off with static typing and no eval.

When I first tried Flex, Adobe's poster child of AS3, I was stunned. It felt like I had stepped back into the early days of Java. I was contantly fighting the syntax and the framework, interrupted by frequent "breaks" as I waited for the lathargic compiler. After countless expeditions into the nested maze of class documentation, I gave one final laugh at its ridculous verbosity, and walked away.  Some other Flash developers noticed the same trend, and they wondered if Adobe was headed in the wrong direction.

Now, much to my relief, the ECMAScript folks have come to their senses, leaving Adobe out in the cold. So, while the ES4 fans look for a scapegoat, the rest of us will breath a sigh of relief and go back to using programming languages that get out of our way.

No comments:

Post a Comment