Mike Chambers

code = joy

ActionScript 3 and ECMAScript 4

with 51 comments

As you have probably heard by now, the ECMAScript committee has decided to halt work on ECMAScript 4 in favor of an incremental updated to JavaScript (know as ECMAScript 3.1). Im not going to go into the details of what happened (you can find good discussions of it here, here and here), but I did want to make a quick post and discuss how this affects ActionScript 3.

It doesn’t.

ActionScript 3 is not going away, and we are not removing anything from it based on the recent decisions. We will continue to track the ECMAScript specifications, but as we always have, we will innovate and push the web forward when possible (just as we have done in the past).

Dan Smith, one of the Adobe engineers who works on Tamarin sums it up the best in a comment to John Resig’s post:

Today’s announcement doesn’t affect the current definition of ActionScript at all. Innnovation (sic) typically leads standards and AS has done so for years — conditional compilation, vectors, classes, etc are available today.

Dave McAllistor (also from Adobe) has also posted more in-depth thoughts on his blog.

The nature of standards are that they are slow, and they follow implementation. Standards codify, they do not innovate. From this, it follows that in order for there to be progress on the web, companies and other organizations must be willing to push the web in new ways. Indeed, Alex Russel (of Dojo) comments on this in a post on the failure of the W3C:

To get a better future, not only do we need a return to “the browser wars”, we need to applaud and use the hell out of “non-standard” features until such time as there’s a standard to cover equivalent functionality. Non-standard features are the future, and suggesting that they are somehow “bad” is to work against your own self-interest.

While Alex has been focusing a lot of his hopes and efforts on Google Gears, the Flash Player is in the same position. Indeed, the Flash Player has consistently pushed innovation on the web, from bringing animation and motion to the web, to advanced scripting capabilities, to video, and more robust programming runtimes.

It should therefore be no surprise that the HTML 5 draft reads like a laundry list of past Flash features (video, audio, sockets, drawing apis, etc…).

To sum up, ActionScript 3 isn’t changing and we are not going to dumb down future versions or ActionScript. We are going to continue to innovate on the web with the Flash Player, and push the web forward, as we have done for over a decade.

Written by mikechambers

August 14th, 2008 at 11:40 pm

Posted in General

51 Responses to 'ActionScript 3 and ECMAScript 4'

Subscribe to comments with RSS or TrackBack to 'ActionScript 3 and ECMAScript 4'.

  1. Hey Mike

    Does this mean we may get private constructors back? I understood that they were dropped because they weren’t in the ECMA4 standard.

    Also does this mean features like true abstract classes and methods will be easier to add to the language in the future?

    Cheers

    Phil

    Phil Douglas

    14 Aug 08 at 11:49 pm

  2. [...] Mike Chambers has clarified Adobe’s standpoint: To sum up, ActionScript 3 isn’t changing and we are not going to dumb down future versions or [...]

  3. Of course we don’t need standards. They’re for lusers. As a *real* coder, I personally relish the challenge of writing a multitude of versions of my applications in order to meet the glorious variations in implementations of any technology or platform out there.

    Why would I want the goalposts to not shift every few weeks? I don’t ever have to take my product out of beta – even Google doesn’t bother with that. Users are happy to update frequently. It’s a minor inconvenience for them, and it gives me a chance to add some new bugs in there to be fixed in the next version. I like the job security.

    I mean, what has a standard ever actually given us? As real programmers, we don’t want guaranteed access to any features. Then we wouldn’t have the chance to write our own versions. What would I do with my evenings then? And learning a new minor dialect gives me another great buzzword for my Resume! Bonus.

    http://tinyurl.com/5n4epf

    Mnem

    15 Aug 08 at 2:01 am

  4. Well, I say “here here”. I really can’t see what all the fuss is about. I’m betting everything I have that Adobe expected this, and from early on. I’m also guessing Adobe doesn’t take this as a threat, and has plenty of tricks up their sleeves to ensure that the people that count (developers) remain happy and content. This is no reason to abandon ship, but to continue to party and enjoy what Adobe provides!

    Can’t really say the same about Microshaft….

  5. [...] Here’re some voices from the Flash community: The future of Actionscript | JavaScript Stalled, AS3 Orphaned – Microsoft to Blame? | Ru Roh! Adobe Screwed By EcmaScript Standards Agreement | ActionScript 3 and ECMAScript 4 [...]

  6. Even in worst case, in case this decision will stay as is — in favour of ES3.1, Adobe has huge benefit. One of the most innovative teams of the web, the Flash Player and several SDK’s developers, will get more freedom for making new innovations, their strongest and most valuable product.

    In this “worst” case, I expect a huge Flash Player functionality jump, leaving all outdated stuff behind.

    Adobe team, keep your way on!

    Rostislav Siryk

    15 Aug 08 at 5:55 am

  7. [...] we discussed how Adobe/Tamarin is effected by the news, which Mike Chambers of Adobe has discussed too, and the general contention of the group. Brendan tied this all together and we end with a [...]

  8. [...] We have other postings going on in the community too. Douglas Crockford writes an opinion on how The Only Thing We Have To Fear Is Premature Standardization and Mike Chambers wraps up the thoughts of Adobe on ActionScript 3 and ECMAScript 4. [...]

  9. @Mnen

    Nice wit / sarcasm, but I never indicated that standards were bad or not important. However, as I noted in my post:


    The nature of standards are that they are slow, and they follow implementation. Standards codify, they do not innovate. From this, it follows that in order for there to be progress on the web, companies and other organizations must be willing to push the web in new ways.

    As Alex noted in his post, if it wasn’t for non-standard feature implementations (by browsers or plugins) then standards would never really move forward.

    mike chambers

    mesh@adobe.com

    mikechambers

    15 Aug 08 at 8:11 am

  10. I would hate to see a divergence between JavaScript and ActionScript. Right now it’s not too bad to mental shift between the languages, but if they diverge much in the future (for instance, if JavaScript ends up having a substantially different implementation of classes than ActionScript), that will not be fun at all.

    I don’t really like hearing that Harmony will not have an effect on ActionScript. That sounds, to me, that you’re not taking big news seriously. I’d rather hear, “Yeah, this is a big deal. We’re going to be watching the situation closely. In the long run, we’ll be adding features as they are added to mainstream JavaScript implementations.”

    Nosredna

    15 Aug 08 at 8:32 am

  11. @Nosredna


    I don’t really like hearing that Harmony will not have an effect on ActionScript.

    As I noted in my post:


    We will continue to track the ECMAScript specifications

    However, we will not be removing items from ActionScript 3 (such as namespaces, packages) regardless of what harmony becomes.

    Of course, given the nature of the standards process, harmony wont be approved, much less discussed in depth for some time (i.e. years). The committee is focusing on 3.1 first.

    mike chambers

    mesh@adobe.com

    mikechambers

    15 Aug 08 at 8:46 am

  12. es4 should have been quick ratification of:
    mozilla js 1.5 – 1.9 (let, for comprehensions etc)
    actionscript 3 (classes,packages etc)

    Not a perfect language but a pragmatic one.

    tom s

    15 Aug 08 at 8:57 am

  13. [...] We have other postings going on in the community too. Douglas Crockford writes an opinion on how The Only Thing We Have To Fear Is Premature Standardization and Mike Chambers wraps up the thoughts of Adobe on ActionScript 3 and ECMAScript 4. [...]

  14. I was nervous that Adobe would take a step backwards with this news since you have done so in the past (e.g. removing private constructors). Such a breath of fresh air to hear this response!!

    I absolutely believe that Adobe has revolutionized the web over the last decade and that many have imitated/implemented what Adobe started. I agree that standards are important, but even more importantly, I believe that advancement is sluggish at best if you are not allowed to be innovative because it’s not included in the standard. I believe Adobe’s response is perfect: keep your eye on the standard and watch what happens, but not to the point of harming the language. Excellent. Thank you Adobe. Oh, and can we have private constructors back please? ;)

    Nate Chatellier

    15 Aug 08 at 9:25 am

  15. [...] will not be the next generation of JavaScript, has been blogged extensively lately. Grant Skinner, Mike Chambers, John Resig, Hank Williams, and Ryan Stewart have all weighed in on this along with Dave McAllister [...]

  16. The big players in organisations like EMCA are just using their influence to boost the value of their own products, and preferably as cheap as possible (eg: not changing a lot). They will support features only if the community will move to another product if they don’t implement it, or if the competition is scoring too much by adopting it.

    @ Nosredna: i do not agree: basic javascript and ActionScript 3 are worlds apart (except maybe for basic syntax). Everytime I need to do some .JSFL or need to write some browser javascript get bogged down in the terrible weakly typed mess and prototype madness. I spend 10% of the time putting the business logic and 90% on making it work. Or maybe i’m too spoiled by AS3 / FDT combi.

    Adobe: since Emca 4 is delayed by year, please give us more from the drafts in the next Flash Player!

    Macaca

    15 Aug 08 at 10:07 am

  17. [...] Thing We Have To Fear Is Premature Standardization, Mike Chambers wraps up the thoughts of Adobe on ActionScript 3 and ECMAScript 4, and Alex Russell talks sense into the [...]

  18. How will this affect the adoption of Tamarin in Firefox? Will Tamarin have to have a “crippled” mode used in Firefox so it only has features in the next ES standard? Or, will it remain as close to the current feature set as is consistent with compatibility with the standard, so we can run AS3 code unchanged in Firefox.next?

    Warren Young

    15 Aug 08 at 11:05 am

  19. here here.

    lets lead with AS and its future versions. After all at the end of the day surely it’s usage numbers that makes something a standard not ratification.

    glenn williams
    tinylion development uk

    Glenn Williams

    15 Aug 08 at 11:40 am

  20. [...] ActionScript 3 and ECMAScript 4 [...]

  21. [...] Web. Adobe, which had built ActionScript 3 to closely match anticipated ECMAScript 4 features, has maintained that they will not change AS 3 at all in response to the new direction. Some have speculated that [...]

  22. Mike, recently you have committed com.adobe.air.logging.FileTarget to the as3corelib project and now it could not be compiled:

    [exec] C:\workspace\as3corelib\src\com\adobe\air\logging\FileTarget.as(53): col: 38 Error: Type was not found or was not a compile-time constant: File.
    [exec] public function FileTarget(logFile:File = null)
    [exec] ^

    Sergey Kovalyov

    16 Aug 08 at 12:20 am

  23. [...] do not lead to innovation, but rather that innovation leads to standardization. Adobe’s Mike Chambers has a great compilation of comments on this topic. I especially found this quote on standards from [...]

  24. [...] that ECMAScript 4 is dead, the rationalizations begin, and Adobe is doing the breakup-was-a-good-thing [...]

  25. As a lover of JavaScript, I must say that I don’t find ActionScript innovative by comparison. I was very disappointed to see typing added to it. For me, having to declare types pretty much ruins the beauty of the JavaScript language. Way to innovate, Adobe.

    Larry Gerndt

    16 Aug 08 at 12:23 pm

  26. Mike

    Given that Adobe are using the OS Tamarin project as the base for the development of AS (from what I remember), does this news mean that there will be an AS3 branch and a Mozilla browser implementation branch of the code or will Adobe be leaving the code to Mozilla (et al) and taking the future development and direction of AS back inside the corporate wall?

    Nick Harvey

    16 Aug 08 at 4:37 pm

  27. Very disappointed,

    First of all I don’t agree on the fact that we don’t need standards: i.e. we do need standards for interoperability, or to leverage time spent in training.
    But, most of all, we do need standards as long as we want to be reassured on fairness and democratic approach to a technolgy and its evolutions.

    Besides there’s a price for this, as stated in Mike’s article.
    For this reason, i think we had a great scenario with both Adobe pushing for innovation and the ECMA committee putting it in a compelling standard.

    I lead a large dev group in Italy: my group spent a lot of training time on ES4 and Actionscript 3.
    I must say that we have always been on the “open standards” side and that’s why we went so much into a proprietary technology like AS3: the existence of Tamarin, ECMAScript and Adobe’s efforts towards “open-nes” and standards furnished the necessary credibility.

    But now it seems to me that “Harmony” is only a political decision supporting Microsoft strategies: I want to point out the fact that Microsoft had also recently relased Silverlight (vs Flash/Flex/Actionscript) and XPS technology (vs PDF), built into Vista/Office 2007.
    Microsoft is pushing towards XPS adoption and Silverlight endorsement (i.e. NBC Web live coverage on Olympic Games or, here in Italy, the same done by RAI, the public national TV broadcaster).

    What’s going on?
    And what should we do now: should we abandon AS3 and its powerfullness in order to stay aligned with open standards?
    And if so, what should we do with all the knowledge and the software engineered with packages/namespaces/typing in mind?

    For example we spent more than a year prototyping a Flex application for Venice municipality: it should be used in public kiosks to inform turists on tide forecasts.
    The application is almost finished and, if it comes to production, we should mantain it for years.
    Well, being commissioned by a government body, we promoted the adoption of Flex/Actionscript asserting that it was close to a open standard…

    [sorry for the long post and my poor english]

    xho

    16 Aug 08 at 8:02 pm

  28. Larry, go back to programming geocities sites, no need to troll here based on your lack of understanding

    Rick

    16 Aug 08 at 10:16 pm

  29. Both ActionScript and Ejscript (http://ww.ejscript.org) demonstrated the viability of many of the key concepts in ES4. While I understand the reality of market forces driving ES-Harmony, I’m glad that Adobe will continue to push forward with ActionScript and will keep the ES4 goodness. Ejscript will continue to provide a closely compatible implementation for the non-browser uses and we hope Adobe will find some other avenues to standardize ActionScript.

    Michael O'Brien

    17 Aug 08 at 3:37 pm

  30. [...] silver lining. Mike Chambers blogs that “ActionScript 3 isn’t changing and we are not going to dumb down future versions or [...]

  31. [...] will not be the next generation of JavaScript, has been blogged extensively lately. Grant Skinner, Mike Chambers, John Resig, Hank Williams, and Ryan Stewart have all weighed in on this along with Dave McAllister [...]

  32. I get your point ; standards sometimes block innovation, and Adobe is producing a great software for the web.
    Still, Flash has several problems to it :
    1. Flash is a proprietary software (even though, yes, you can install the SDK alone and code with it, but come on, no one would do it for a professionnal purpose). Therefore, it effectively limits access to the web for programmers (Flash and Flex builder are VERY expensive), and everyone is dependent on Adobe, wich does not suit the open nature of web technologies. The great advantage of (open) standards is that everyone can implement them without relying on a software vendor.
    2. Flash still has lots of accessibiliy issue, even though great efforts have been made to improve this. Once again, common standards are useful for accessibility purposes.

    Jean-Remy Duboc

    18 Aug 08 at 2:11 am

  33. [...] Adobe ?????????????????????????????????????? [...]

  34. [...] at Ajaxian, and the reactions from other JavaScript notables like John Resig, Douglas Crockford, Mike Chambers, and Alex Russell make worthwhile reading (with varying levels of technical detail). Also, Episode [...]

  35. In order for Adobe to innovate, or for Flash to be innovative, it needs competition. At this moment in time, you have none. If Flash were truly innovative, I would likely be posting this on a Flash-driven blog.

    Al Sparber

    19 Aug 08 at 8:08 am

  36. @Al Sparber


    In order for Adobe to innovate, or for Flash to be innovative, it needs competition. At this moment in time, you have none. If Flash were truly innovative, I would likely be posting this on a Flash-driven blog.

    I dont agree with your conclusions.

    1. While competition does drive innovation, innovation can still occur with out it. The Flash Player didnt really have any direct competition for the first 8 years of its life, yet there was a slew of innovation during that time (including video, more advanced scripts, and the Flash Player itself).

    2. At this moment, we have more “competition” that ever before, including Silverlight and HTML / Ajax (for certain things). You could argue that HTML 5 is a competitor as well (although it wont really be for a couple of years).

    3. If Flash were truly innovative this site would be built in Flash????? Why? This site is primarily text. HTML and web browsers are really good at displaying text.

    If this was a video blog, or an RIA, then yes, Flash would make more sense. But a primarily text based weblog? I dont think so.

    mike chambers

    mesh@adobe.com

    mikechambers

    19 Aug 08 at 8:58 am

  37. [...] conclusion du billet de Mike Chambers va dans ce sens d’ailleurs, et se veut bien plus rassurante encore: [...]

  38. [...] Adobe isn’t going to change or kill their ActionScript 3 either as expressed by Mike Chambers, also an Adobe engineer. He blogged that “ActionScript 3 is not going away, and we are not removing anything from it [...]

  39. [...] Mike Chambers [...]

  40. How lightweight is Tamerin?
    Could we see an OpenSource project porting it to a range of browsers?
    If it can spread as a plug-in, we could see developers hopping over to it in preference, and adoption from the ground up establishing it as de facto standard.
    Or can could we see the flash player providing javascript engine service to any browser in which it is installed? With full access to the DOM? Would solve the distribution problem.

    creacog

    21 Aug 08 at 1:56 am

  41. This is an unfortunate development, if only in a political sense. Actionscript’s adherence to the ECMAScript standards and the Tamarin project have made some headway in disarming the HTML/AJAX purists tedious argument that Flash/Actionscript is a proprietary technology not suitable for “real” web solutions. I do use AJAX on occasion and man does it remind me how good I have it in Actionscript… That being said, I do hope to see Adobe still continue to make an effort to stay open and standards driven but I do respect that they’re not satisfied moving at a committee pace. I think everybody is hoping that eventually the two parties might come together again in some form.

    I second the private constructor petition… not that I’ve ever really reinstantiated any singleton classes… but I live in constant fear that one day I might :)

    Arni Maack

    21 Aug 08 at 10:50 pm

  42. I don’t think this sounds the death knell for ECMAScript 4. Just think of it as a long pause. Much ado about nothing.

    As for whether or not to have real classes, I think they are a great addition. practically every language out there has them now in some form or other. it’s JavaScript’s time to step up to the plate. If you want to program in an old style, that’s your business, I’m sure it will let you.

    I think it is unfortunate that ECMA halted work on ECMAScript 4 and probably E4X too, the new XML part of JavaScript. I have about 1MB of states+cities+towns+etc XML data I would like converted into structures.

    The only think I don’t like about version 4 was that somebody thought it was cute to put python into it. scrap the python additions.

    Jim Michaels

    26 Aug 08 at 12:18 am

  43. The whole not getting the Ecmascript 4 spec accepted as standard thing is very interesting.
    Look at Adobe and all Adobe friendly bloggers. What´s the general view there?
    Things in the vein of these things get said and repeated often:
    Big evil MS blocked getting it accepted as standard. The parties blocking this are only doing so to block innovation on the web!!! Standards are important. But yes, we will continue to innovate!!!

    Come, on, gimme a break!
    Let´s have a quick look at the history there: AS1;Flash 6: Flash´s scripting language had evolved till there, had become considerably closer to javascript, many people in the “serious” programming world working in java or C++ laughed, didn´t take flash´s AS serious as programming language, but with time they had to accept that the possibility to combine code and media with ease and flexibility like in few to no other environments allowed to rapidly create nice results not possible in java or C++ in a comparable timeframe.
    Flash continued its success story.

    Fast forward to today: Adobe obviously wanted to attract way more of the “serious” programmers and get AS respected as serious language, many changes were made then. Thanks to AS3 and the way the newer player/interpreter,GC etc work combining non code generated media with codeside has turned into way more work and has become more time intensive . Thanks to the changes in language flash´s AS is becoming more and more a Java wannabe clone.

    So again, Innovation?!? Where´s the innovation in turning AS into a Java clone?!?

    The reality is Adobe wants to turn Ecmascript/AS more and more into a Java clone and well, while some more used to Java like workflow like it, many many others obviously don´t like that.
    First it was more and more people from the flash community moaning, now The Ecmascript 4 suggested spec was declined by a big group of decission makers.

    Its understandable Adobe tries to sell their loss in the most positive way possible but yeah, saying “we want to innovate, the others block that” type things while you reduce more and more what made flash innovative and at the same time copy more and more of another language and forced workflow?
    Laughable.

    tomsamson

    28 Aug 08 at 5:47 am

  44. [...] conclusion du billet de Mike Chambers va dans ce sens d’ailleurs, et se veut bien plus rassurante encore: [...]

  45. [...] AS3 Orphaned – Microsoft to Blame? | Ru Roh! Adobe Screwed By EcmaScript Standards Agreement |ActionScript 3 and ECMAScript 4 | Thoughts on Harmony | Harmony [...]

  46. [...] Grant Skinner Mike Chambers Hank Williams Written by sundev in: Uncategorized [...]

  47. [...] and Web 2.o in general – so it is very notable that work on ECMAScript 4 has been partitioned or delayed depending on who you consult. Clearly there is a functional and learning burden making the shift to [...]

  48. wasn’t there a new release for this?

    Julianne

    1 Mar 09 at 3:00 pm

  49. [...] at Ajaxian, and the reactions from other JavaScript notables like John Resig, Douglas Crockford, Mike Chambers, and Alex Russell make worthwhile reading (with varying levels of technical detail). Also, Episode [...]

  50. [...] The result was quite the opposite, as Adobe was now the odd man out, though some said that it didn’t affect Flash at [...]

  51. [...] (known as ECMAScript 3.1) and I guess Adobe couldn’t just hang around. You can read about that here. In Flex 4 there is also a declarative graphics language called FXG. Why didn’t Adobe use [...]

Leave a Reply