Toilet paper as syntactic sugar and the cost of forks

The last day of the Roundup was a lively one; perhaps the most lively in terms of sessions. Two of the talks I attended were centered around the possible forking of Java and Java Applet deployment in view of whether or not it’s too late for rich Internet applications implemented in Java. It was a fun morning; I highly recommend the audio for these two sessions.

It was intriguing to listen to the postulations and concerns of participants over the possibility of Java forking. The majority of them are not participants in Free/Open Source Software; they would fall mostly into the majority category of consuming F/OSS, which explains many of their concerns. I pointed out that forks of significant projects are very costly, and must have their own community with a very good reason for undertaking such an arduous effort. In my view, the governance of Java as F/OSS will be what determines whether or not if forks. I believe some long-standing F/OSS projects’ histories bear that out, based on what I have heard and read of Emacs, mutt, and similar projects. I think the parallel existence of the Java Community Process and open-sourced Java is going to be an interesting sociological experiment over the next years; personally I don’t think they will coexist that well for that long.

In the discussion on Applets, we got into the issue of Swing’s lack of a viable component model. One participant postulated that Swing was just fine when you “have experts who know what they’re doing”, and that (plus the 2 awesome 16oz. caffe americanos I had from Camp4 Coffee) prompted me to express the following view which I now share publicly before the rest of the world:

With all due respect to my fellow conference attendee, my view is that this “when you have experts” sentiment is a key reason why Java has only gone as far as it has. The bearded road apples (props to Scott Adams for that term) who insist on building their own everything have labored under a severe misapprehension. This particular air of condescension is what irks me the most within the Java community. It is that same spirit that disparages meaningful, productive suggestions as “syntactic sugar”; I hate that. Let’s apply that reasoning to another area of everyone’s everyday life.

Toilet paper is syntactic sugar. There’s already an adequately functioning alternative for that given task, namely one’s hand. So why not use that? It works, doesn’t it? Yes, but I find the “syntactic sugar” of toilet paper to have a compelling “value proposition” (props to Joe Nuxoll for reinfecting my mind with that term ;-) ).

I don’t want to wipe with my hand, and I don’t want to use Java as my language for rich Internet apps, web applications, or anything else that is not heavy lifting to which the Java language is well-suited, which seems to be an ever-dwindling category of problem domains. The fruition of the dynamic has arrived; embrace it, you’ll be glad you did.

It’s been a great week; another wonderful Open Space event. Thanks, Bruce. Thanks, Java Posse. See you next year I hope.

Lightning talks come to Crested Butte

We added lightning talks to the event, and it’s been an excellent addition. From the highly-technical to non-Java-related, these were a blast. I missed the first ones, but this second night was a blast. Joe Nuxoll gave a pretty cool one on racing, specifically the topic of load distribution. I’d like to try some of it out, but not on the actual road. Joe’s actually really into racing, and I enjoyed his passion for it as well as the information he shared. Joe Neely of FedEx gave a cool typography talk, and James Ward showed some cool Flex apps.

The day’s talks were good as well, but I am not recalling the particular topics I wished to write about.

Skiing continues to be great; did my first jumps and some more mogul black diamond runs today.

Layered Architecture in Java off the server — not?

One question I have had for practicioners who work in Java “off-the-server” is whether or not they really layer their application architecture for their applications. You hear people throw that use case around for lightweight, POJO-based frameworks like Spring and Hibernate, but I always wondered whether or not that really happens.

If the response to that talk is any indication, the answer appears to be a sound “no”. The five or so people that showed up all worked primarily on server-side stuff, and none of them cited any layering of this type within applications authored by their organizations. At a conference about Java off the server, that surprised me.

Overall another great day both at the conference and on the slopes.

So what is a server-side guy doing at the Java Posse Roundup 2007?

The Java Posse Roundup 2007 in Crested Butte, Colorado has the central theme of “Java off the server”. Given that topic, why (besides the skiing) would I haul out to Crested Butte for this meeting? In short, I am here because I know what Open Space events organized by Bruce Eckel are like and I know there’ll be plenty of topics that are not strictly “off the server”. The first day already made good on that prospect. Heck, Python and Domain-Driven Design came up within the first topic I attended.

The initial conversation I participated in was related to the role of dynamic languages on the Java Virtual Machine (JVM) and their integration with Java even in their native implementations. Most folks seemed to agree that the JVM holds much promise as a platform with mature threading and stability for dynamic languages whose C implementations suffered in those areas.

As an Open Space veteran, a meta-topic for me is watching folks who seem to be unsure about whether or not we’ll get anything done with this meeting format. I look forward to hearing their impressions at the end.

Skiing this week is excellent! Good snow, not too crowded, good weather; this will be a great time.