Skip to main content

Let's Go Crazy

Posted by editor on November 23, 2006 at 6:28 AM PST

Java forks for all!

With Sun offering an Open-Source Java implementation under a GPL license, forks are inevitable and even desirable. Maybe it can't be called "Java" or use the coffee cup icon, but even still, aren't there some things that you'd like to set right, if only for yourself?

Author (and Amateur project owner) Elliotte Rusty Harold came away from a presentation on open-source Java with a list of language changes he would like to make, even if it's only to set things right for his own development (after all, his list of changes wouldn't square with the language as defined in the Java Language Specification and ratified by the JCP). He calls it RatJava, in homage to an early 70's cleanup of Fortran called RatFor.

Take a look at his list of changes and see how many you agree with:

  • No semicolons
  • Require braces for multiline statements
  • break by default at the end of a case
  • Permit switch on types other than int
  • Ban tabs
  • Make multi-line String literals easier to write
  • Make final the default
  • Make UTF-8 the default and only encoding

There are already a couple dozen interesting talkbacks to Elliotte's list; as Curt Cox points out while adding his wish-list, "it's easy to come up with lots of really useful Java 'skins'.

What's interesting is that you can get a lot done while still maintaining bytecode compatibility. After all, as Elliotte points out "we can finally clean up some of the little annoyances in the Java language, while still maintaining full compatibility with the Java VM and Java libraries; simply by making a few modifications to javac."

So how about you? How would you redefine the language to suit yourself and your programming practices and preferences?

Also, in Java Today,
InfoQ's JRuby brings Rails applications to Glassfish points to a blog by Naoto Takai that shows how to deploy a Rails application to GlassFish by way of JRuby. InfoQ points out that the use of GlassFish allows for "a more robust and scalable deployment platform." However ONJava blogger Robert Cooper argues that the approach sacrifices the simplicity of WAR-based deployment.

Think you know NetBeans? Try the NetBeans Community-Contributed Quiz. "Following true Open-Source style, the questions for this quiz were contributed by NetBeans Community members. All submissions with the correct answers will be entered in a drawing for four NetBeans Field Guides (2nd edition). Only one submission per participant is accepted."

Open-Source Java topics dominate today's Weblogs.
John O'Conner addresses IBM's infamously chilly reaction to the GPL Java announcement in
Open source Java: You just can't please everyone:
"IBM has been requesting an open source Java for years. Now that they have it, you'd think they'd be happy. They're not, and obviously you just can't please everyone."

Stuart Marks tries to explain What's Taking So Long?
"Why it took months to open the source code, and why active development isn't in the open yet."

Finally, in A License To Innovate, Terrence Barr looks at
"Innovation, GPL2, and the classpath exception."

fester has a question about the timingframework project
in today's Forums, writing in
[timingframework] end behaviour:
"Since there is no seperate forum for the timingframework, I hope to have my question answered here. I want to animate the icon in a JLabel. For that I defined the following [...] I was hoping that the override of PropertySetter would not be needed, that I could just set the EndBehaviour to RESET and this would set the property to the original value when the animation is done (or stopped via stop()). Is this a bug?"

freelancealot wants to know
Is Java Right for What I want to do - connect pc, open sip & incoming call:
"I've been looking for a way to have a cross-platform (Mac,Windows,Linux, etc) program to work in the background when the computer is switched on (or the program is opened), so that when a call comes through on the VoIP phone (a Grandstream, Snom, softphone, etc), my computer picks this up and opens a webpage (PHP), which will then display some information in the browser (definitely Firefox compatible). The webpage displayed will depend on the phone number that was called, which is set up as the Caller ID when it comes into the Voip phone (this ability is set up by the Voip provider I use, so that I know which of my phone numbers was called - home or work)."

Finally, cowwoc spells out a sore spot in Swing in
RFE: JFileChooser replacement for Windows:
"I personally feel the biggest eye sour in AWT/Swing is the file chooser. FileDialog does not match the native L&F under Windows XP (it looks like Win2k instead) and JFileChooser totally mismatches the native L&F even under Java6: 1) Keyboard navigation is nearly impossible, 2) There is no auto complete for paths as they are typed in, 3) You can't use the ENTER key to drill-down into a sub-directory because JFileChooser thinks ENTER always submits (which is not the case under the native L&F)."

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 forks for all!