Tuesday, March 14, 2006

Confounding: Sun vs. Scripting Languages


This post was also published in InfoWorld.

During my five year tenure at Sun, Graham Hamilton, the Java CTO, killed every initiative to run scripting languages on the Java Virtual Machine. These include 1999's "javab", which would have run Visual BASIC syntax on the JVM, and 2003's "Java 3", which would have supported optional typelessness for Java objects.

Clearly, the industry trend towards scripting languages like PHP and Ruby has finally had an effect, since Graham has recently sponsored JSR 292: Supporting Dynamically Typed Languages on the JavaTM Platform. The time lag here is similar to the time lag it took Graham to support SOAP in favor of RMI after a ton of resistance, which Sun paid for dearly when they had minimal impact in the development of the web service standards we use today.

It's great that Sun has finally decided to support scripting languages in some way in the next couple of years. However it is clear that this change was done in a very begrudging way, considering that Sun's James Gosling and Tim Bray have recently taken it upon themselves to start publicly slamming scripting languages!

James Gosling, March 12: There have been a number of language coming up lately," noted James Gosling today at Sun's World Wide Education & Research Conference in New York City when asked if Java was in any kind of danger from the newcomers. "PHP and Ruby are perfectly fine systems," he continued, "but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.

Tim Bray, February 21: So here’s my problem, based on my limited experience with PHP (deploying a couple of free apps to do this and that, and debugging a site for a non-technical friend here and there): all the PHP code I’ve seen in that experience has been messy, unmaintainable crap. Spaghetti SQL wrapped in spaghetti PHP wrapped in spaghetti HTML, replicated in slightly-varying form in dozens of places. Everyone agrees on PHP’s upsides: it’s written for the web, it’s easy to deploy and get running, and it’s pretty fast. Those are important advantages. And I’m sure that it’s possible to write clean, comprehensible, maintainable, PHP; only apparently it’s real easy not to.

Yet in January, James Gosling states in a News.com interview that "LAMP has certainly become quite viable."

What would be much more helpful is if Sun finally open sourced the Java Virtual Machine so that scripting languages could organically adopt a common JVM. With some leadership on Sun's part, Java and LAMP could merge onto a common virtual machine, and both would benefit greatly.

7 comments:

Stefan Tilkov said...

You might want to check out a few more posts of Tim, since throwing him into the same boat with Gosling doesn't do him justice at all.

GeekyGirl Dawn Foster said...

Peter,

Did you see that Dave Rosenberg reposted this entry on his InfoWorld Open Sources blog?

I agree that Sun should open source the JVM. I do not see how Sun could possibly be better off by keeping this proprietary. By releasing the JVM under an open source license, Sun would have quite a few benefits (greater community innovation, better adoption within the LAMP stack, etc.)

Mic said...

yeah its about time. Sun sometimes have a major case of NIH syndrome. But come on, they have Guy Steele, Gilad etc... surely they must be waking up to their own talent telling them what the future is.

Larry Maccherone said...

Peter wrote>
What would be much more helpful is if Sun finally open sourced the Java Virtual Machine so that scripting languages could organically adopt a common JVM. With some leadership on Sun's part, Java and LAMP could merge onto a common virtual machine, and both would benefit greatly.
---------------------
It looks like MS is going to beat Sun to the punch on your suggestion. Jim Hugunin, the author of both jython AND IronPython, arguably the two best examples of a dynamic language running in a vm designed for staticly typed languages, now works for MS. Also, his original work on IronPython was targeted at both mono and the MS .NET run time. If you really want to see this come to fruition, we need to make sure that Jim succeeds and that mono is viable. Last time I checked it was incomplete, a little buggy and very slow.

sogrady said...

hey peter: as Stefan says, Tim's actually quite enlightened on the subject on dynamic languages and is actually championing them within Sun. he just posted the following over on my blog the other day:

"What do you mean, "admit"? I'm not "admitting" that dynamic languages are hot stuff and a big part of the future, I'm shouting it from the rooftops to anyone who'll listen and some others who don't want to."

definitely a different take than you'd get from Gosling.

Isaac Gouy said...

What Gosling Really Said

James McGovern said...

Maybe you should noodle in your next post why enterprises aren't adopting scripting languages. This may change your past perspectives on Sun decision making...