Ted Leung on the air: Open Source, Java, Python, and ...
- In order to be effective for my landline use, I need an amplifier (with a mute button), a feature that I have on my wired GN Netcom headset.
- I'd like to have confirmation that it works w/ my equipment -- Nokia 6600, iChat, and landline -- I don't want to be on the bleeding edge for that.
- The headset is kind of ugly
Another routine in the grotty underbelly of Zeppelin does a bunch of file/directory maintenance: create a shadow directory tree if it’s not there and copy a bunch of files selected by extension hither and yon. I’m sure programmers will still be writing this kind of code when I’m a hundred years in the grave. Well, Java is really not the right tool. What would have been a few lines of straightforward Perl turned into half a dozen klunky-looking Java methods. If I’d been able to rely on Jython just being there and in my IDE, I would have come out way ahead. Fortunately, I think we’re going to fix that one.Tim concluded that the language (Java in this case) was to blame. Much as I love dynamic languages, I don't think that the problem here was exclusively the language. The design of the accompanying libraries is as much to blame as anything else. The Java libraries are full of good object-oriented design - small methods that do one thing, tons of getters and setters. Unfortunately, this style of design tends to overlook actual use cases of the code. So tasks that could be done in a few lines of code end up taking many lines of code. Of course, all of this sort of thing is influenced by the language.
Another thing that I found interesting was that there was almost no mention of EJB 3, despite the fact that it's much simpler than EJB 2. Most of the time was spent talking about J2ME, JNDC and JDIC, Looking Glass, and generics. A few people lauded the benefits of JNDC -- apparently one of the panelists discovered that some of the JNDC components were Swing extensions that were written when members of the Swing team tried to actually write a Swing application. A few people spent portions of their reports talking about whether or not Sun was understanding the importance of developers, and on their perceptions of Sun's financial health.
Joe Bowbeer and I disagreed over the usefulness and openness of the JCP. Joe has had a good experience with the JCP, while I've mostly had indigestion over JSRs, and the long process of getting the JCP to be more open. It appears that some SeaJUG members have me pegged as Mr. Groovy, a title which should be reserved for James. I haven't actually been very involved with Groovy in the last few months. I haven't made up my mind over whether I'm going to participate in the JSR process, for a variety of reasons. One if them is that since the announcement of the JSR, I feel that there are more people pushing for Groovy to be more like Java, which (at least in my mind) defeats the purpose of having Groovy in the first place. Apparently, I'm not alone in my thinking -- this week eWeek published an interview with James Gosling in which he said
I think they could be a little more outlandish and get a little more interesting.(thanks to Dion Almaer for the pointer to this - you'll have to read Dion to find the eWeek interview). I'm not really in the mood to fight with a whole bunch of people who have a different outlook on what Groovy ought to be, especially when it's starting to look like there are other people out there who have an outlook closer to mine (more on this another day). As we got into the car to go over for our ritual after meeting beer and food, I turned to Wilhelm and said "this session made me glad that I'm not doing Java stuff at the moment". He responded that all the hue and cry over generics was reminiscent of the hue and cry when objects got introduced. We talked a bit more, and I said "if you're going to have static typing, then I want the computer to figure out what the types should be". I've done templates in C++ -- I used some of the template metaprogramming techniques that Barton and Nackman first showed. Of course, I'm not a fan of statically typed languages to begin with. Java programmers are going to have a lot to swallow over the coming years. The good news for them is that C# isn't any better. C# already has annotations (attributes) and is about to add generics, so the two languages are remaining essentially equivalent. But as one person asked "what happened to making it easier"?