Rodrigo Kumpera Weblog

Meus achados sobre tecnologia

Pet projects

April 5th, 2006 · No Comments

Quem não tem seus pet projects? Aquela idéia super legal que surgiu um dia e você resolve tentar implementá-la. Pet projects podem ser qualquer tipo de software, qualquer mesmo, e a única coisa que eu vejo em comum é que eles sempre são abandonados quando começam a ficar realmente dificieis.

Eu pelo menos tenho esse hábito, de deixar de lado quando começa a ficar realmente cabeludo, ou chato. Já devo ter começado uma centena desses projetos, mas acho que somente um ou dois chegaram ao ponto de produzir algum resultado.

Meu atual projeto surgiu a partir de uma discussão que aconteceu na lista do Apache Harmony sobre qual linguagem usar para implementar a JVM, o pareo era entre java, C e C++. C e C++ são escolhas meio óbvias já que todas JVMs comerciais são escritas em uma das duas. Mas e java? Como pode ser possivel escrever uma máquina virtual em uma linguagem que só pode ser executada a partir de outra?

Máquinas virtuais escritas em Java existem, a saber: JikesRVM, JOEQ e OVM. As duas primeiras funcionam de forma semelhante, elas definem algumas extensões semânticas a linguagem e se compilam para código nativo; a partir daí não é muito diferente de uma máquina virtual escrita em C.
Fiquei tão curioso com as possibilidades que fazer isso permitiria que resolvi ver o quao dificil seria escrever uma. Bom, descobri que é realmente dificil, já que só para sair do zero você precisa escrever um JITer para sua plataforma. Agora, quase 9 meses depois, eu estou nos passos finais de conseguir fazer um hello world funcionar e espero conseguir.

Conseguir isso promete ser uma bela vitória, isso se não surgir algum outro pet project mais interessante no caminho primeiro.

Tags: Programming

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment