Thursday, December 18, 2008

What Erlang's got that Java hain't. And vice versa.

I'm toying in Erlang now a bit. Some VM features are specific to their language needs. I won't focus on them here (though tail recursion would still be wonderful). These items seem more fundamental:
  1. Fast context switching.
  2. Update while running.
  3. GC per thread.

All these are related. And what do they all have in common? Is it any surprise that Ericsson has shown an interest in Multi-VM Java? What use cases could possibly exist for MVM? Of course, system-process level is nice for visibility to the OS, but adding the option for light-weight "green" processes for MVM would also be cool.

Side note 1: Java's GC generally is way more advanced than Erlang's, so far as I can tell. Java's also far ahead in some other categories, including raw performance.

Side note 2: Sharing simple data types in messages seems a lot more robust than trying to serialize objects generally.

No comments:

Post a Comment