Everything and the Kitchen Sink

Sun Microsystems encourages developers to experiment with Java language.

Sun Microsystems is encouraging developers to throw everything including the kitchen sink into evolving the Java language.

While Sun has announced its plans to open-source its Java technology, the Santa Clara, Calif., company plans to maintain the sanctity of the standard language while enabling developers to experiment on bringing new features to Java, said Peter von der Ahé, tech lead for the Sun Java Compiler, also known as Javac.

Von der Ahé has started a Sun incubator project known as KSL, or the Kitchen Sink Language, which will enable developers to "throw language features, no matter how absurd, just so that folks could play around. Now that Javac has been open-sourced, its easy," said Java creator and Sun Fellow James Gosling in a blog post Jan. 8.

Von der Ahé said that as the tech lead for Javac, he sees "a lot of proposals for enhancing the language, and our team has to turn down most. So how can we experiment? [Goslings] solution is the Kitchen Sink Language, which will be a forum for trying out crazy (and not so crazy) ideas for language enhancements."

However, "we want the main branch of Javac to be stable and primarily focused on implementing approved features," von der Ahé said. "On the other hand, we must experiment and have fun to get a feel for new language features. Most people seem to prefer evaluating new language proposals by using them on their own code, rather than reading abstract specifications and proposals."

The Java programming language is defined by the Java Community Process, von der Ahé said. "This is a good thing, as it ensures that the entire community is heard," he said. Yet, "we should also be conservative when selecting which features are added to the language. Otherwise, the language may become a mess."

Von der Ahé said that this is the premise of a presentation titled "Evolving the Java Language" and created by Gilad Bracha, a Sun computational theologist; Graham Hamilton, former Sun vice president and fellow; and Mark Reinhold, chief engineer for J2SE (Java 2 Platform, Standard Edition).

Von der Ahé said he was prompted to move on creating the KSL project when, over the winter holidays, Rémi Forax, an associate professor at the University of Marne-la-Vallee, in France, implemented two proposals for language enhancements. Von der Ahé said that led Ted Neward, founder of Neward & Associates, to "suggest that we do something to coordinate future experimental features. So I felt this was the right time to implement James idea."

Gosling is no novice when it comes to such debates, having taken flak for comments he has made about dynamic languages in the past.

"Ive never been real happy with debates about language features. Id much rather implement them and try them out," Gosling said in a Jan. 8 blog post.

Moreover, now that Java is open-sourced, Gosling said that, for developers, "theres lots of fun to be had playing around with Javac."

Some respondents to Goslings post long for the closed days of yore. A commenter identifying himself as "barspi" wrote, "James, you say that you never have been happy with the debate about languages features. I totally agree with you. But with the release of Java under open source these kinds of debates will become more often. This is the top reason I would have hoped Java would have stayed non open source."

In a follow-up post, Gosling said his comments on disliking language debates may have been misconstrued.

"I didnt mean that I dont like the debate. What I dont like is debate divorced from experiment and data," he said in a Jan. 9 post. "Language arguments can get into all sorts of hand waving without building sample implementations. What [the Kitchen Sink Language] is about is trying to provide a scientific basis for the debate. Throw stuff into the kitchen sink without thinking too hard about whether or not its a good idea. Let folks kick the tires. Those experiences then inform the choice of which features go into the standard."