If you paid close attention during some of the Adobe sessions at Flash on the Beach you'll have heard about a project called FlaCC, basically a way to compile C and C++ libraries to ActionScript bytecode. I haven't seen a whole lot of people talking about it as of yet even though - if this works out - it is in my opinion one of the most exciting developments in the last few years!

From what I can tell this project goes back to what we saw presented by Scott Petersen during the sneak peek sessions at MAX Chicago 2007, the most impressive of his demo's was without a doubt running a cross-compiled version of Quake in the Flash Player (or an AIR app as it turns out).

Here's the video I recorded back then:

There was a huge amount of interest in this project and shortly after Ryan Stewart had the opportunity to interview Scott Petersen to find out more:


The first mention of FlaCC during Flash on the Beach was at the Adobe Town Hall meeting, where Paul Betlem answered a question about possible support for a Dynamic Language Runtime.

I don't have a direct quote but in effect he said that FlaCC was in development, it allows for C/C++ code to be compiled to ActionScript bytecode, and will be made available to developers in the not too distant future.

On Wednesday during the "The Yin and Yang of Flash" session we were given a little more background information.

One of the major use cases for FlaCC seems to be to allow a form of native extensibility for the Adobe Integrated Runtime. Since it would compile C/C++ down to ActionScript bytecode this would ensure cross-platform compatibility, which is a key concern for AIR.

Paul Betlem mentioned that the C code compiled down to ActionScript bytecode runs up to 10 times faster than ActionScript 3.0 (and about twice as slow as native C code) making it a good candidate for complex math and other operations.

Since FlaCC was brought up as a reply to a question on Dynamic Language Runtime support, this could conceivably mean work is being done on having an interpreter for a language like Python ported to the Flash Player. This is in line with what Scott Petersen presented at MAX 2007 and I believe that same point came up in the Adobe Town Hall meeting as well.

In any case, exciting times ahead and can't wait to see this in action!