The Flash community is disturbing the quiet of August by beating up ActionScript, the language of Flash, Flex and AIR. ActionScript is based on JavaScript, and took huge strides in version 3.0, introduced with Flash Player 9. Just-in-time compilation greatly improved performance, while the core language got optional strong typing, namespaces, sealed classes, and other features that brought the language closer to Java or C#. Adobe was endeavouring to implement ECMAScript 4.0, which at the time was also meant to be the future standard for JavaScript in the browser, though ECMAScript has since gone in a different direction.
Nevertheless, a number of influential Flash developers are saying “not good enough”. Sascha Balkau has a good summary and lists some of the requested features, including method overloading, generics, threading, abstract classes, and enums. Nicolas Cannasse talks about the failure of ActionScript 3. Joa Ebert is unhappy with the community process and observes that Google’s V8 is faster than ActionScript which in his view is ridiculous. Jesse Warden also complains about performance and asks for the performance gains from the amazing Alchemy (which compiles C/C++ to ActionScript) to be available to all ActionScript code. Peter Elst asks for ActionScript to be decoupled from the player and replaced with a dynamic language runtime.
Why all the fuss? This is the pace of development in the industry putting pressure on Adobe. There are undoubtedly Flash developers casting envious glances at Silverlight’s .NET Framework, which meets many of the above requests – though let’s not forget the Silverlight developers casting envious glances at Flash in areas like text handling or simply its wider adoption – and the Google factor is also an interesting one.
Miguel de Icaza tweets mischievously about how Adobe should adopt Mono and get C#; and in many ways he’s right. Not that Adobe should necessarily adopt Mono; but that it should be using a language and virtual machine that is shared with a wider community – which I guess is what was intended for Tamarin, though that has not worked out well so far.
In the meantime, I’m guessing that Adobe will be coming up with improvements to meet at least some of these requests – multi-threading, surely, and the next stage in Alchemy. MAX 2009 in October?