« Apollo wrap | Main | The French Drop »
February 28, 2008
Compile to ABC
Compile to ABC: Interesting comments, after Dion Almaer picked up a Paul Krill interview of Kevin Lynch, which mentioned compiling various programming languages to ActionScript Bytecode for execution in Adobe Flash Player. This effort is not fresh news... here are MAX 2007 reports from Peter and Jen, and Ted has a more recent account of the work here. So Paul asked Kevin about it, and Dion picked that out of the interview. But check out the comments at Ajaxian.com... seven of them, with links to funny webpages, almost all with Silverlight promotion. Nothing in Dion's words about Microsoft, but that's where the comments go. (Microsoft has announced "Dynamic Language Runtime", or clientside compilation of various source languages to Silverlight 2.0 instructions... seems better to me to precompile and serve a single file, but that's their choice.) Real off-topic coincidence, or planned campaign, there's insufficient evidence to assume either way. There are just some very strange commenting patterns lately, that's the main takeaway.
(By the way, I may have a terminology issue with "ABC". Most of the other reports use the term "ActionScript", which I take as the text representation, which is then compiled to binary instructions for efficiency (and via JIT then to native machine code on the destination machine). I'm having trouble finding other documentation of Scott Petersen's work via Google, so it's hard for me to check the mechanics right now. Anyway, I'm guessing that the compilation from C++ or whatever results in ActionScript Bytecode, rather than ActionScript textfiles.)
Posted by JohnDowdell at February 28, 2008 08:16 PM
Trackback Pings
TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/9286
Comments
I know you know, just a reminder.
There is another language that compile abc code, its name is haxe.
:)
Jaco
Posted by: jaco at February 29, 2008 12:10 AM
This was the best wrap up I came across: http://blog.digitalbackcountry.com/?p=1095
[jd sez: Thanks Ben!! That was the info I remembered reading before! (Note to self: Next time search "'scott petersen' actionscript quake", not "'scott petersen' actionscript doom". ;-) ]
Posted by: Ben Clinkinbeard at February 29, 2008 05:56 AM
From what I have heard, Scott's project involves translating LLVM bytecode to ABC bytecode.
LLVM ( http://llvm.org/ ) is a cross-platform bytecode/runtime that also has a back-end for the GCC compiler. Thus anything that GCC can compile (which includes C, C++, Objective-C and Java) should be able to be cross-compiled to the Flash player.
Posted by: Nick Main at February 29, 2008 08:09 AM
FYI: There already is a programming language called ABC:
http://en.wikipedia.org/wiki/ABC_programming_language
it was worked on by Guido van Rossum who also wrote Python.
Posted by: Jos at February 29, 2008 08:57 AM
John,
The C/C++ code is cross compiled to AS3(text) not AVM bytecode. The implementation is thus portable and compatible with FP9 and Adobe AIR when compiled to ABC (ActionScript Byte Code).
I have some examples and am making a video on the project.
Ted :)
Posted by: Ted Patrick at February 29, 2008 09:50 AM