Corporate rivals have temporarily sunk their differences to find ways to fine-tune the Java Virtual Machine (JVM) to a variety of popular dynamic languages.
Language experts from IBM, Microsoft, and others have converged on Sun Microsystems' Santa Clara campus for a three-day workshop to find ways of delivering Java-like performance for Ruby, Python, PHP, and Scala on the VM that drives Sun's platform.
Among those heading to Sun's offices were computer languages expert and Microsoft architect Erik Meijer - who helped create the Language Integrated Query (LINQ) and Microsoft's experimental Volta tools language - and representatives from IBM's Project Zero putting PHP on a JVM.
Also, there were Sun's JRuby lead Charlie Nutter and John Rose, leading a Sun effort called the Da Vinci Machine building extensions to run non-Java languages on the VM with a similar level of performance as Java.
Sun's director of web technologies and XML co-founder Tim Bray attributed the outbreak of entente cordial to a belief that life will be easier in app dev if there are fewer VMs to target. Among the topics on the table at last week's meeting: method dispatching
IBM and Sun have at a corporate level spent years tussling over who's the big dog in Java. Microsoft, meanwhile, has attempted to emulate Sun's Java VM with .NET and the accompanying Common Language Runtime (CLR) - it's implementation of the Microsoft-driven Common Language Infrastructure (CLI) standard.
Aside from some "good-natured joshing," there'd been a "good, collegiate atmosphere at the summit," Bray said.
"There's a widespread perception among the leading lights of the developer community that there's a huge upside if you can reduce the number of VMs to be smaller than the number of languages," Bray told The Reg. "I think the feeling is the upside for the whole business is so big it kind of transcends the normal competitive realities of the marketplace."
Bray reckoned that while Sun's Java language has gone out of fashion in recent years, the VM holds great interest for a new generation of emerging languages, because of its performance and access to a large number of APIs and libraries already widely used across the computing landscape.
"Just because people would like to write code in Rails rather than Java, are they going to walk away from Java? No, that's a ridiculous idea," Bray said.
Bray expects new, non-language specific VMs to emerge from the work around dynamic-language performance and the JVM, and take their place alongside Sun's VM and Microsoft's CLR and CLI. He pegged talk of a VM for Perl and work around Parrot as holding potential. "I'd be astounded if one or two [other VMs] didn't emerge," Bray said. ®