My take on the “Has ActionScript failed” debate

There is a lot of buzz going around twitter and the blogosphere the last couple of days around the future of AS3 and what the community wants. These discussions include Joa Ebert’s post on community contribution, language extensions and compiler performance, Nicolas Cannasse’s (author of the Haxe programming language) post on AS3 as a failed language and Andre Michelle’s post adding to the earlier two.

All the above posts do have valid points even if they are rather sensationally titled, though calling AS3 a failed language would be stretching it considering how many of us use it and do fairly complicated things with it even if typing “addEventListener” is a pain in the ass. The flip side to the above arguments come from Peter Elst’s post Making the case for ActionScript.

So here are my takes on the topic:

  • AS3 has not failed but is definitely gotten more verbose as painful to type. Traditionally ActionScript seemed to suffer from a love affair with Java which is probably why Java/C# developers do not see the points here. However the new fashionable languages are a lot less verbose and draw a lot of attraction on that front.
  • A lot of twitter conversation at this moment is talking about decoupling the AS3 language from the ActionScript Virtual Machine, and that would be cool, you could write Flash apps in a language you feel is cleaner. Alchemy enables this with C++ code, could probably be extended. For me the excitement isnt about compiling Python to the Flash Byte code but rather leveraging the language specific libraries I could use with my apps.
  • I had already blogged how AS3 has gotten a bit slower to work with than AS2. Adobe should look at the mistakes people are making everyday and improve either the language or the tooling (like maybe Flash Builder could warn you if you created a displayobject but never added it as a child). Simpler constructs for everyday things like getURL, loadXML would realllly help. This could be done with a framework that wraps lower level calls, but its a pain to add a swc to a classpath that I could do without.
  • Finally, lets have Adobe concentrate on features than language aesthetics. Take a look at how ugly Objective C is and you’d know we dont have it so bad. And yet, the language would not be the deterrant for me to write an iPhone app. So Adobe, I’d much rather get some player level features, and better performance for sure.

Oh and my big request of the Adobe peeps:
Adopt a secondary language and integrate well with it, especially AIR. AS3 will never have the libraries I would like to use, so if there could be a way to leverage Python or something as well on the desktop at least, that would be great. I am right now looking at TitaniumApp for some apps I wish I could have done in AIR.

  • http://pradeek.blogspot.com Pradeek

    I dunno why this discussion about AS3 being a bad language started all of a sudden. Ted Patrick’s post http://onflash.org/ted/2009/08/future-of-flash-platform.php lead to Joa’s post. I admit that Joa’s post has a lot of valid points but the posts from then on in left the important area of AS3 performance to changing the language itself.Instead of talking about how AS3 should change, we should first let Adobe deal with the performance issues and the ton of bugs they have to fix.

  • http://www.fingersdancing.net Ross

    I agree with Pradeek. I can’t see the need for this discussion, though it is healthy for a community to have this type of debate.

    I think people believe adding in OO features is a straight forward process like Generics but really there is a lot more to it. You need to tailor the language to the community and the AS community is a mix of designers and developers. This is a really a widespread community and the language needs to reflect that or you will alienate part of the community. Lets compared this to, say language like Java, which is a community of developers and hard core developers ;-). I really feel some developers are just thinking my other OO language has X feature so AS should also have X. Developers need to balance their statements on why they shouldn’t have that feature or at least think about it. Unless these people want Frankenstein languages?

    I think Adobe has a done a great job so far with the platform and I’m confident they will continue to. As Ted says in his post they are welcoming to comments/suggestions from the community.

  • http://www.arpitonline.com arpit

    @Pradeek @Ross couldn’t agree more :), I am more interested in what I can do with it than how I write it.

  • Pingback: Video | Enjolt.com | Innovate for Success

  • http://www.maximized.co.uk Colin Maxwell

    As a long time AS coder, I was initially shocked by the differences between old AS and AS3, but I’ve taken the time to learn the new version and can now do everything I used to do, and more.
    There’s always a reaction to change, and I think the best option here is to embrace it and see that AS3 is actually a more powerful tool that just needs a little more care when handling it. Its like moving up from a Mini to a Ferrari.

  • Pingback: shaun smith » Flash Platform – Oh Teh Lolz!

  • http://www.appcelerator.com jeff haynie

    we look forward to you trying out titanium and giving us your feedback. thanks for the mention.

  • http://www.itechart.com/ astrid

    I just can’t get the “failed” reference with regard to ActionScript. A failed thing does not continue evolving, it just remains where it failed, covered with a thick layer of dust and covered with footprints as an evidence to manifest that people are pretty much over it and have moved on. With ActionScript, this is not the case at hand.

    On the flip side, AS might have its issues. It might have a lot of them, and these might be causing severe pain around the rear areas of those who are working on leveraging it. Yet despite all this, AS is what brought the Flash platform to where it is at the moment, and as for now, it is not failed.