Archive for the ‘Java’ Category

The Deletion of gcj

I originally posted this on G+ but I thought maybe I should expand it a little and archive it here.

The patch to delete gcj went in recently.

When I was put on the gcj project at Cygnus, I remember thinking that Java was just a fad and that this was just a temporary thing for me. I wasn’t that interested in it. Then I ended up working on it for 10 years.

In some ways it was the high point of my career.

Socially it was fantastic, especially once we merged with the Classpath community — I’ve always considered Mark Wielaard’s leadership in that community as the thing that made it so great.  I worked with and met many great people while working on gcj and Classpath, but I especially wanted to mention Andrew Haley, who is the single best debugger I’ve ever met, and who stayed in the Java world, now working on OpenJDK.

We also did some cool technical things in gcj. The binary compatibility ABI was great, and the split verifier was very fun to come up with.  Per Bothner’s early vision for gcj drove us for quite a while, long after he left Cygnus and stopped working on it.

On the downside, gcj was never quite up to spec with Java. I’ve met Java developers even as recently as last year who harbor a grudge against gcj.

I don’t apologize for that, though. We were trying something difficult: to make a free Java with a relatively small team.

When OpenJDK came out, the Sun folks at FOSDEM were very nice to say that gcj had influenced the opening of the JDK. Now, I never truly believed this — I’m doubtful that Sun ever felt any heat from our ragtag operation — but it was very gracious of them to say so.

Since the gcj days I’ve been searching for basically the same combination that kept me hacking on gcj all those years: cool technology, great social environment, and a worthwhile mission.

This turned out to be harder than I expected. I’m still searching. I never thought it was possible to go back, though, and with this deletion, this is clearer than ever.

There’s a joy in deleting code (though in this case I didn’t get to do the deletion… grrr); but mainly this weekend I’m feeling sad about the final close of this chapter of my life.

Fedora 8

Anthony was in town this past Thursday, and after talking to him I was inspired to follow his example and upgrade to Fedora 8. Like him, I did a live upgrade; but I only upgraded my laptop, which was running Fedora 7. My main machine still runs 6… I’m more cautious about upgrading it, but after playing with Fedora 8 a bit, I can feel the pressure rising.

The biggest change I’ve noticed so far is the inclusion of IcedTea. I’m happily using the browser plugin for the all-important chess applet.

Speaking of which… I’ve been looking at other brower plugins lately. Any reports on the flash support in Fedora 8? I’m using the (boo hiss) proprietary flash plugin right now. Also, any experiences with Firebug or Adblock?

I’m impressed with the Fedora maintainers. They manage to release a solid operating system every six months… not an easy task. Upgrades for me have always gone pretty smoothly; I’ve done a mix of upgrades from CD and yum upgrades, and haven’t been burnt (a couple minor singes, but always known bugs with simple fixes). Also, each release has had some compelling benefit making me want to upgrade.

GCC 4.2

GCC 4.2 was released a few days ago. Here’s the list of changes. Congratulations to everybody who worked on this, and especially to Mark Mitchell for once again doing the release engineering work.

Different parts of GCC evolve at different rates, and due to some quirks of timing, it turns out that the gcj parts of 4.2 are already obsolete. For Fedora we back-ported the 4.3 gcj bits to our base GCC release; I think the other distros are doing the same. Basically what happened is that all our Java 1.5 work came in after 4.2 had closed for major changes.

Post Java One

I’m back from Java One — what a crazy week!

I’m a bit wary of thanking people; there are many people deserving appreciation and I would hate to leave someone out. I suppose I must try, and bear the consequences. So, special thanks to Tom Marble, Onno Kluyt, Rich Sands, Mark Reinhold, Simon Phipps, and Bruno Souza — each of them made a special effort to include us free software hackers in the cool behind-the-scenes goings-on.

I was also happy to meet and talk to many people while there: Per Bothner, Chris Oliver, Casey Marshall (finally! But I’m sad to say there are still a few gcj developers I have not met), Glynn Foster (nice guy — I meant to meet him for a beer at this one party but failed), Jeff Bailey, David Daney, Ean Schussler (always fun!), Erinn Clark, Jacob Applebaum, Ian Taylor, Tom Baxter (long time no see!), Roland McGrath, David Herron, Peter Ahé, Andre Burgoyne, and Johanna Neaderhouser. Whew. Actually I was introduced to many more people (Eben Moglen, James Gosling, John Cage, Neal Gafter, … to drop some names) but the former are the folks I actually had conversations with. And, yes, it was as overwhelming as you might imagine, especially if you are essentially an introvert, as I am.

Java One

Java One is huge, much huger than I’d imagined. The opening keynote had a steady stream of corporate luminaries onstage to talk about their Java-related plans. Many thanks to Bruno for saving us some great seats — and also to Tom Marble for making the effort to include me in the various goings on.

The big news is that OpenJDK sources are available, and that Dalibor is on the initial OpenJDK governance board. Next step: replace the remaining binary blobs with free software.

Also today they announced a big new initiative around F3, which has been re-branded “Java FX Script”. Sun continues to surprise — this is a cool project but I did not expect such a big push for it. I met Chris Oliver today (interesting guy) and also saw Per Bothner; it turns out that Per works on F3 now, writing a compiler to turn F3 scripts into JVM bytecodes.

Tons more has happened, too much to write about really. I did want to mention that Sun has also impressed me with their environmental committments. I’ve heard several times how Sun servers are friendlier (my understanding is that this applies to the manufacturing process) then competing servers, and also there was some talk (though I lost a bit of context) about having the conference be carbon neutral.

Java GUI Stuff

There seems to be some action in the Java GUI world right now. I was quite surprised by how many Swing talks there are at JavaOne.

AB5K is desktop widgets in Java, using JNLP — one of my favorite under-used technologies. The web site looks nice but they don’t seem to have many widgets yet. And widgets are so last year, har, har.

Chris Oliver’s F3 looks interesting. I’m considering seeing his talk at JavaOne next week… perhaps AB5K ought to be using this. He’s also posting JNLP links for his demos.

I tried both of these with netx and gcj, but netx is too old, and we don’t have Pack200, and … OpenJDK take me away.