Skip to main content

The Mob Song

Posted by editor on March 24, 2006 at 6:35 AM PST

Gosling talks scripting languages, predictable flamewar ensues

A while back, James Gosling discussed scripting languages vis-a-vis Java, both at a Sun conference and in a video interview. JDJ titled their story James Gosling: "Java Is Under No Serious Threat From PHP, Ruby or C#", and the response form the PHP, Ruby, and C# crowds was pretty much inevitable and predictable. In the talkbacks to Artima's write, Gosling: Java vs PHP a Moot Debate, Bruce Eckel wrote that "Basically shows that Gosling is worryingly out of touch, and is pretending that Java isn't under assault from all corners."

Artima cleared things up somewhat by transcribing the video interview in Java and Other Languages: What Gosling Really Said, which we featured on the front page yesterday. But Gosling himself is taking the time to provide some needed context in a new blog entry, Scripting flamewar, in which he acknowledges "Yes, I did say those things. But there's a lot of context missing, and they're the flippant soundbite version of what should have been a long and careful explanation that could easily mushroom into a series of PhD theses." Beginning to re-frame the discussion, he notes:

My big problem with a lot of it is simply that these two polarizing categories are a pretty poor way of capturing the distinctions between language designs. The terms are almost as goofy as "Republican" versus "Democrat". Taking huge multi-dimensional spaces of choices on different issues, then combining and simplifying them all down to a brutally simple binary choice is goofy.

So, before anyone else jumps to the simplistic assumption that Gosling is just parroting a company line, read through his thinking on just what it means to be a "scripting language", and the choices that go with that.

And it's not just about code. Consider one talkback from "Ivan":

Apart from PhD theses in CS, there's also room for theses in Economics, or maybe Sociology as well; at least room for an essay. What is missing in this discussion is the economic world we live in. In business environments, Java takes up the lion's share of the market, and people who specialize (or want to) in other languages (outside of stalwarts like C, C++ or alternatives like .Net) are frustrated.

Maybe that's an easy shot, but then again, why shouldn't we consider economics? Java makes developers more productive in many ways: by preventing entire classes of programming problems, by catching stuff at compile-time, by providing high-quality standard libraries and fostering an ecosystem of open-source libraries. And if all this makes the programmer "soft", or allows mediocre programmers to write good code (as some critics have said), why is that a bad thing? The goal is good code, not anyone's biases on how to create it.

Even critics like Beyond Java author Bruce Tate acknowledge Java's strengths before throwing in with its rivals. Those who would dismiss Gosling just because he talks up Java's advantages relative to would-be rivals are cheating themselves of a more thorough understanding. After all, if you read his book, you'll see that Tate doesn't consider PHP or C# to be viable rivals to Java either.

Also in today's Weblogs, Arun Gupta notes that
WS-Addressing 1.0 Core and SOAP are Proposed Recommendation:
"W3C WS-Addressing 1.0 Core and SOAP Binding are now a Proposed Recommendation. A final stamp from W3C Advisory committee will convert this into a Recommendation."

"In a new article on, Rico Cruz and I explained how to create, in the Sun Java Studio Enterprise 8 IDE, the order-tracking Web service for Adventure Builder." More details from Marina Sum
What a Breeze: Creating Web Services on Sun Java Studio Enterprise 8

The latest poll asks "When do you plan to upgrade to JUnit 4?" Cast your vote on the front page, then visit the results page for results and discussion.

In Projects and

Larry Freeman talks about Running Java BluePrints on Project GlassFish. "I thought that it might useful to blog about setting up the Java EE 5 Solutions Catalog to run on Project GlassFish. So, here are the steps that I followed to set it up." He describes installing and running GlassFish and the BluePrints, and demo'ing its JSF pop-up component.

"With NetBeans 5.0 out of the door, the work on Matisse now continues at even faster pace, targeting a large set of new innovative features as well as many improvements in the areas of usability, productivity, and overall user experience." The Matisse Roadmap shows goals for the JavaOne 2006, NetBeans 5.5 (Q3 2006), and NetBeans 6.0 (Q4 2006) timeframes.

In Also in
Java Today
Andrew C. Oliver has a warning about performance his bluntly-titled blog entry, If you don't do this JBoss will run really slowly. "Most people don't know what RMI DGC is. And most people don't need to know what RMI DGC is. However, if you run JBoss Application Server on Sun's VM, RMI DGC is probably sucking the performance out of your app." Describing some -D switches to adjust DGC timing and thread stack size, he says "these two sets of switches consitute the 'go fast' button and the 'please work' button respectively."

Why let idle computers waste CPU time not doing anything? In the dev2dev article Use JMS Clients to Utilize Free Computer Resources, Nimish Doshi proposes distributing computing work across the network. "This article proposes a framework for placing Java Messaging Service (JMS) clients on these underutilized machines to offload the work normally performed on a server. The client can listen on a request queue for a unit of work to perform, and respond on a reply queue."

In today's Forums,
miles is trying to better integrate
Firefox and Webstart:
"I'd like to try out the better WebStart support and Firefox integration I keep hearing is available in 1.6. However, as the documentation has not yet been updated, how do I automatically launch the application from a browser in Firefox and Mozilla-family browsers as well as Internet Explorer? I really look forward to finally not having to tell people to download and open JNLP files; this has caused so much unnecessary confusion."

legolas_w wonders
where is the correct package of InvocationContext
Can some one tell me where is the correct package for InvocationContext ? In jboss ejb3.jar, it is inside *javax.ejb *package, and in glassFish it is inside *javax.interceptor* Why, in case that these two class are the same, they are in different packages? Which one is correct? Does the standard say where classes should be in package hierarchy? —

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Gosling talks scripting languages, predictable flamewar ensues