Should Adobe follow the new ECMAScript 3.1 standard?
For background, read:
- Standards, ECMAScript and representing the past
- ActionScript 3 and ECMAScript 4
- Ru Roh! Adobe Screwed By EcmaScript Standards Agreement
- How will ECMAScript “Harmony” affect ActionScript 3?
Keith Peters just posed a good question, Why Standards?. On the one hand, standards are undeniably good, assuming that the point of a “standard” is that many adhere to it. It’s pointless to call something a standard if you are the only one following it. For example, take the metric system vs the english system of measurement. There are really only two standards and it still causes us problems. Remember the $125 million lost Mars Climate Orbiter in 1999 because someone didn’t convert from one standard to another? Or closer to home, remember the problems of figuring out why your page looked one way in IE, another in Netscape, and another in Safari? The same page could look drastically different. Or how about the standard of XML? What a fantastic concept! I love that I can import an Excel file directly into Flash if I want to thanks to XML, or that I can interface with an app written in an entirely different language over Ethernet because it talks XML. It’s undeniable that standards can be very powerful.
However, it’s also undeniable that not everything should follow a standard. How boring it would be if everyone’s web page had to use the exact same look and feel and no one was allowed to use anything but text. This is, of course, ridiculous. Standards can be very powerful, but they can also be very inhibiting.
So the real question is not, “why standards?”, but rather, “should Adobe follow the new ECMAScript 3.1 standard?”
The only time I ever wish that various rich oop languages were more “standardized” is when one language has a really nice feature/ability that I become dependent on, and then I switch to another rich oop language that doesn’t support it. For example, there are many times that I have griped that I wish AS supported all of the features that usually come “standard” in other rich oop languages, such as private constructors, function overloading, strongly typed arrays (vectors), etc. ActionScript 3 was a big step in the right direction and I thought ES4 would solve most of my remaining gripes.
My view, however, implies that a standard in the programming world is used to set the *minimum* feature set that a language has, NOT the maximum. I agree with Keith Peters, that my employer and my personal career as a developer are both completely unaffected whether AS follows a named standard or not. On the contrary, I feel like AS currently *is* the standard, and undeniably so in the current RIA world. I believe Adobe should consider the ES3.1 standard and follow it where it makes sense, but I strongly believe it should ignore it altogether when it’s not in the best interest of the language or the community. Again, if MS, Apple, and Mozilla all decided that their browsers would support text only to be more standard with each other, everyone would jump ship in a heart beat to a “less standard” web browser that pushed the technology limit and supported images, video, sound, etc.
I believe Adobe has been pushing this technology limit for the last decade, and that they should continue to do so without consideration of slowing down in order to be able to claim that they are “compliant”.
Oh, and since we’re no longer worried about being compliant, can we please have private constructors back and true support for function overloading?
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.