Oracle anuncia nova máquina virtual
A Oracle anunciou esta semana o lançamento de uma nova máquina virtual, a GraalVM.
O projeto bem ambicioso é fruto de anos de pesquisa e desenvolvimento e parece ser realmente bem inovador.
As máquinas virtuais atuais acabam focando na execução de linguagens específicas, e isso acaba sendo um problema que viola o princípio DRY.
Com as implementações atuais de VMs, a comunicação entre programas escritos em diferentes linguagens possuem um custo extra de serialização e desserialização, além do mais as ferramentas e ambientes se tornam inconsistentes muitas vezes.
A GraalVM chega em sua versão 1.0 como uma máquina virtual universal e poliglota.
A VM promete facilitar a interoperabilidade sem nenhum overhead 😱😱😱
O post de introdução oficial da VM dá exemplos muito interessantes de cenários em que programas desenvolvidos com Node.js poderão acessar funcionalidades de uma biblioteca Java, usar R para criar SVG com dados de outra linguagem, chamar um método do Python por meio de um programa Java, entre outros.
Mesmo em sua versão 1.0, a VM já permite uma série de possibilidades:
- Rodar linguagens que são baseadas em JVM (Java, Scala, Groovy, Kotlin)
- Rodar JavaScript (inclusive Node.js)
- Rodar bitcode LLVM (criado por programas escritos em C, C++, Rust)
- Rodar versões experimentais de Ruby, R, e Python
O projeto possui uma versão open source, o GraalVM Community Edition, que está disponível no GitHub.
Este é o primeiro release, mas o projeto já se mostra bem maduro.
Vamos acompanhar e ver o que a comunidade irá criar de soluções e como a Oracle irá evoluir o projeto.