Getting no respect
Java application heckled
I'm now in Portland for OSCon which does not tend to be a Java friendly conference. Still operating on little sleep as weather delayed the flight I was on. I ended up arriving at about 4 am by my body's time. Any way, that's not what I'm whining about today. I'm whining about the lack of respect for Java applications.
Adhoc turned out to be a bit smaller, but every bit as fun as MacHack has been. The final midnight event was ADHOC lab's showcase which has replaced the hacks show. Fundamentally, the ideas were the same. People showed off the code they had been hacking on for the past 48 hours. One hack featured Neko the cat picking up your cursor and running with it across the screen. Another was a game that featured a character that could leap from window to window that had been separated using Apple's Expose. There were iPod hacks, Finder hacks, modified shells, and many useless but fun applications.
One of the hacks was useful (not always a good thing) and illegal - but the reason people balked at it was that it was written in Java. The app did something interesting with DVDs, but when Chris Adamson opened up a terminal window and typed in
java BadBadThing people reacted audibly to it being written in Java. As he mentioned at his session the following day, there was clear derision for his writing the application in Java. Perhaps he could have written a double clickable application so that no one would have known it was Java based, but in this case Chris was trying to show what could be done with Quicktime Java.
When you are at a gathering of non-Java programmers, what is their reaction when you pull out a Java app?
"Developers are problem solvers. Don't tell them what to do, tell them what the problems are."
Weblogs John Reynolds has Bigger fish to fry. He thinks that "the Java community and open-source developers in general are having problems in identifying which problems to work on. There seems to be a huge duplication of effort, and while folks may not be reinventing the wheel, there do seem to be an awful lot of enhancements to the wheel underway (Java.net alone is hosting more then 1000 projects). A lot of great work is being done. A lot of great ideas are being pursued. But I can't help feeling like I am running as fast as I can just to stay where I am."
Bill Wake has discovered and likes the Napkin look & feel. He writes that "Most LAFs leave me a bit cold - they're changing things for the 'cool' factor, not for any user benefit. This one is different - there's a reason for it. Two thumbs up!"
In Also in Java Today , Ron Hitchens kicks off week two of the "Effective Java" bookclub saying "Inheritance is one of the bedrock concepts that underlie OO languages. It seems ironic then that inheritance is so often the wrong thing to do. Is recognition of the pitfalls of inheritance a sign of maturity in an OO programmer? How often have you used inheritance when composition would have been more appropriate? Did you do it after you knew better? The problem of fragile base classes is well understood, but is it understood widely enough? Are IDE tools that auto-generate forwarding methods for contained objects a good thing?"
Don Schwarz's ONJava article "Peeking Inside the Box, Part 2" forges ahead with new ways of dynamically representing a program's state. As a reminder, in part one, Don put Java 1.5 annotations on his methods to provide descriptions of what a method would be doing at that time. His challenge then became getting at this information in a robust, lightweight fashion, for use in a GUI status component. In this second installment, he introduces a thread sampling approach to crawl stack traces at regular intervals to find the attributes. He then merges this in a hybrid approach that adds bytecode manipulation to instrument methods only on an as-needed basis.
Forums, the compatibility discussion continues with robilad's post that Stallman "pointed out that many implementations of Java are not free software, so that people who write free software for Java on non-free runtimes could put their software in the awkward situation that others would need non-free software to make full use of it."
On Immutability, sblundy writes " I tend to make smallish, and not so smallish, data classes immutable. Things get tricky when the classes are complex. At a certain point using a single constructor is a pain. Builders seem to help then, but you're getting into the range of why bother, why do you need such a big immutable hunk of memory floating around?"
"I have come to laoath all this commons-* stuff", says giorgio 42. " I am plagued with taking care of half a dozen commons libraries, even with various releases of them. [..] Creating these kinds of dependencies just to make implementation of toString() or Comparable easier is IMHO a Bad Idea! With commons-* we will end up in a similar mess as with the various XML parsers. "
In Projects and Communities,Rowan is a Java Desktop Community project that provides custom Swing components, starting with a "wizard" user interface, which is demo'ed in the entertaining "Rowan Wizardly Riddler".
In today's java.net News Headlines
- Eclipse Web Tools Platform Project Operational
- BEA's Adam Bosworth Departs For Google
- Proposed Final Draft: JSR 201
- Mevenide 0.2.2
- Judge Slaps Down SCO's DaimlerChrysler Suit
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using
our news submission
form. All submissions go through an editorial review before being posted to the site. You can also subscribe to
News RSS feed.
Current and upcoming
- July 23 - 25 Desert Southwest Software Symposium
- July 29 O'Reilly Open Source Convention
- July 29 Moderated Chat: Improving Web Services Performance
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the
Today RSS feed. Also, once this page
is no longer featured as the front page of
java.net it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.