WatersWorks by John K. Waters

Red Hat's Mark Little on the Big Picture for Java

Java has the potential to emerge as a dominant language supporting platform-as-a-service (PaaS), and will continue to provide the underlying enterprise runtime for a new generation of dynamic languages -- if history doesn't repeat itself.

So says Red Hat's Mark Little, senior director of engineering in the company's JBoss group. Little has been active in the Java Community Process (JCP) for about six years, the last four of which he's served on the Executive Committee (EC). He's also a visiting professor in the computer science department at Newcastle University in the U.K.

For once I got my time zones right and connected with Dr. Little just before he went on holiday last month. The Java SE 7 final release candidate was poised to become the first upgrade of the core Java platform under Oracle's stewardship, and the first new version of Java to make it out of the open source community in five years. And JBoss had just released an early access version of Application Server 7, a Java-based, community-designed project that enables a cloud-ready architecture that delivers a "tenfold decrease in start-up time," as well as faster deployment and reduced memory usage.

"If you've been watching the industry, you'll have seen these kinds of shifts over the past 30+ years," Little said. "It's like when we moved from DCE [Distributed Computing Environment] to CORBA [Common Object Request Broker Architecture] and CORBA to J2EE... suddenly, when Java came on the scene, perfectly good systems that had been implemented in -- I shudder to say it -- COBOL, or even C or C++, were reengineered from scratch for no other reason that that the engineers wanted to play with Java. But a lot of the things that were re-implemented didn't need to be. They could have been interfaced to a thin veneer of Java on top of the original language. We kind of stopped the world, re-implemented everything, and then started it up again. And we wasted years as an industry."

"Today in particular," he added, "with the kind of economy we find ourselves in, we can't afford to do that. We can't afford to disenfranchise our users yet again. My hope is that we're entering an era of far more pragmatic developer approaches. This is about using the right tool for the right job. Even if developers want to go with something like Ruby or Scala, the underlying enterprise runtime is going to be Java."

Little points to the new TorqueBox Ruby application platform, designed to expose the JBoss Application Service Suite 6 to Rubyists, that doesn't require any knowledge of Java.
"A lot of people we talk to around Ruby, PHP, and others want the enterprise capabilities of Java, and we can expose those to them," he said. "In our vision around PaaS, the runtime should be common, whatever the language. The important thing for the developers is the APIs. We won't be providing a new specific runtime for PHP or Ruby. It'll be the same runtime abstracted away."

"I'm hoping we are entering an era in which people realize that Java may have a few warts and boils, and it may not be perfect for some things, but we've spent the better part of a decade building up these enterprise middleware stacks, and these stacks are absolutely good enough for us to continue to use," Little added. "Even if a lot of our programmers don't want to code in Java, and want to, say, jump to Ruby, we can provide a Ruby veneer for these stacks, rather than, as we might have done 10 or 15 years ago, stop the world and re-implement the entire stack in Ruby from the bottom up."