A couple of years ago I co-founded Creolabs with the mission to greatly reduce time required to develop mobile multi-platform applications. On paper the project and the implications was so huge that it has been really difficult to find out the right team with all the required skills. One of the requirement was to be able to develop a very efficient multi-platform virtual machine that can be easily bridged to other languages, with a modern class based syntax and with powerful features found in the most advanced compilers.

I generally don’t like to reinvent the wheel so I tried to look at the currently available open source languages in search for a valid candidate. Some languages had a very nice virtual machine implementation but on top of a crappy syntax, some other languages had a good syntax but without an efficient virtual machine… some others were so huge and intricate that I refused to be involved in such a mess.

Requirements were clear… a thin and very efficient virtual machine with no more that 5000/6000 lines of code. I wasn’t able to find anything that could completely satisfy our needs so this time I decided to reinvent the wheel and project Gravity started.

I’ll use this blog to post information about the language, the virtual machine, how I wrote it and more generally how to develop an efficient multi-platform programming language just using C.