C and Python as Web Languages


The blog Toolness reports on a really interesting idea for client-side web languages. The idea is to write a compiler for languages like C or Python that will compile code into low-level bytecode for a Flash Virtual Machine. This would allow you to write C programs that would run on the browser’s Flash plugin.

The proof-of-concept compiler has already been demonstrated to compile and run existing software such as a Nintendo emulator in a browser. The idea is that existing C code can be compiled by this new compiler and then run, apparently fine, in a browser.

What I think makes this really interesting is that this sets the way for some really awesome possibilities for web development. I love Flash. I’m really happy it’s the most popular method of including multimedia on a web site (when JavaScript is not an option). However, I don’t like ActionScript very much and I think it could be much easier to develop in a language I’m more comfortable with. This is why a technology breakthrough like this is so important. ActionScript is a little bit of an odd language (in my opinion), and there are languags that I’d much rather be coding in.

The fact that existing code can be easily compiled means that existing software could be ported to Flash and run in a browser. I think that’s a pretty awesome idea.

One of the first things that came to my mind when I heard about this was the issue of security. It seems like any code run in this manner is still secured by the Virtual Machine in the same way that ActionScript is secured when running in a browser.


As a little side note, I just remembered that Microsoft’s Silverlight is capable of doing essentially the same thing with any .NET language (C#, J#, VB.NET, Lisp, Ruby) What I think is so awesome about this is the idea that the much more open and widely used Flash is the technology that is being used here. This means more platforms will fully support the technology once it’s released.

I can’t wait to write Flash stuff in Java (no actual word on Java yet, but I can hope) or Python.


Posted in Technology | No Comments »


This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.