Skip to main content

Easy to Slip

Posted by editor on December 19, 2005 at 7:58 AM PST

Java was going to be a scripting language?

Here's an interesting quote that's probably going to get kicked around a bit:

When the project that Java came out of first started, I was originally planning to do a scripting language. But a number of forces pushed me away from that.

That's Java creator James Gosling, discussing RADlab, scripting and scale, a blog that came out of a discussion
with members of Berkley's new "RAD Lab". " The conversation was all
over the map, but a major thread was about the design tension between
shape="rect">scripting languages and href=""
shape="rect">strongly typed href="
purpose_programming_language" shape="rect">general purpose
languages." So what happened to the scripting approach of this ur-Java? Gosling says "a number of forces pushed me away from that."

The biggest was concerns about performance and the inevitability of scale. I can't remember how often I've had experiences where someone has proudly shown me some system they've put together using the scripting-language-du-jour: things like an Adobe Illustrator clone written entirely in PostScript; a satellite groundstation diagnostic system written as TECO macros; a BASIC compiler written as Emacs macros; fourier transform algorithms in PostScript... This list is endless. They always ended with "this is so cool, but I'd like it to be as fast as {C,Assembler,whatever}". People get into scripting to quickly build small quick things, but they often grow far beyond where the initial concept started.

So, it's about scaling. Isn't it always about scaling? And wasn't that the original knock against Java: that it wouldn't/couldn't scale like native approaches would? There's a vigorous discussion in the comments section. Take a look at it.

Also in today's Weblogs.
Bruce Tate takes a look at the difference between Popular vs. Great:
"Cedric Beust posted an interesting blog about the Fan Syndrome as it pertains to Ruby on Rails. It got me thinking, why are some great frameworks scorned, and why are some poor frameworks popular?"

Moving into the pajamas-at-noon home office set, Felipe Gaucho asks
How modern is your job?
"I'm just moving from my current job to a new challenge: open my own company, as a IT consultant based on my home-office. After drinking coffee for fifteen years on traditional enterprises, I decided to drive my own destination - changing my career in a business perspective."

In today's Forums,
ajaygautam has a question about
JBoss vs. GlassFish (Why Glassfish?)
"A friend of mine forwarded me the link to the Glassfish project and it got me thinking about why does this project exist. I looked into FAQ, and it seems that JBoss vs. Glassfish is not asked frequently enough. Anyway, it seems that glassfish does pretty much what jboss does. I mean, why not just contribute to the efforts of jboss, and try and make that and ever better product? If jboss is better, lets try and get jboss developers to join. Would anyone care to fill me in on whats going on?"

In the book club discussion of Beyond Java, rickcarson has some critical considerations
Re: Chapter 8: Continuation Servers:
"On most web projects I've worked on, the Session was regarded as a limited resource, and in general the rule of thumb was not to shove too much into it if we could help it. From the links and comments about continuations, it sounds as though the amount of stuff being stored in the session would be a lot more with continuations than the state persistence I suspect that there would be a number of trade-offs, and my first question would be how scalable is the use of continuations? Is this only for low traffic situations, or is this for heavy duty prime time as well? Notably, Paul Graham's use of continuations was (allegedly) later rewritten in Java. Could scalability have been one of the major reasons for this?"

In Also in
Java Today
the December Issue of the Java Technology Fundamentals Newsletter has a tutorial on "Understanding the Caret and Highlighter Interfaces of Text Components". "The Caret and Highlighter interfaces are two aspects of text components that control the view of the current text. The Caret interface describes what's usually referred to as the cursor: the location in the document where you can insert text. The Highlighter interface provides the basis for painting selected text. [...] Although you probably won't alter the caret and highlighter behavior for a text component, you should know that many interrelated classes are working together"

In the book excerpt Killer Game Programming in Java: A 3D Checkerboard, Part 2, Andrew Davison continues the development of a navigable 3D scene, consisting of a tiled floor and a sphere floating above it. This second installment creates the floor tiles and handles the positioning of the viewer in the scene graph, accounting for his or her movement through the scene.

In Projects and
Alexander Krapf's NetworkWorld article Jini builds foundation for SOA details Jini's suitability for SOA architectures. "Jini offers such features as platform portability, mobile code and platform security. It is easily used in applications with access to a full [J2SE] run-time environment. But it also can be used on tiny, embedded devices and in applications written in non-Java programming languages."

Java Boutique's The Java Game Development Tutorial offers a crash course in developing Java game applets. "We will talk about Java Applets because everyone has a Internet browser, so everyone is able to play these games without installing the JDK!" The tutorial covers animation, double-buffering, sound, input handling, and points the way to advanced topics like AI, random landscapes, and level editors.

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.

Java was going to be a scripting language?