(Mainly for the programmers.)
Today in tech news is Oracle's announcement of GraalVM -- yes, that's "graal" as in "holy grail", and I'm sure they intend it. They claim that this new VM will:
- Run in diverse environments.
- Start fast and run fast, thanks to optional precompilation and linking.
- Cover all major programming languages.
How they heck they are accomplishing that last one, given the diverse environmental expectations of different languages, I have no idea. One of the lessons of the Scala.js and Scala Native projects is that, yes, interoperability in diverse environments is possible, but it ain't simple. So I'm immensely curious what the interoperability in the GraalVM environment looks like.
It seems to be more than smoke and mirrors, though: they claim to already support all of the JVM languages and JavaScript, and they're working on Ruby, R and Python -- a nicely diverse set of target languages. And Twitter is apparently already using it in production. So this looks quite real, and if their performance claims stand up, it may be quite important.
Of course, this is coming from Oracle, who are not historically a fuzzy and cuddly company. Especially in light of their recent court win in the long-and-tiresome-but-important API battle against Google, I am quite concerned about the IP provisions are around GraalVM -- in particular, what patents it involves and what sort of copyrights they are asserting. Depending on the details, it may or may not be wise to build on; I think it's likely that this is Oracle's stake in the "technology lock-in" game.
That said, it's damned intriguing, and I'm curious to see how it plays out. In the meantime, I need to find some time to read into it...