Brian's Waste of Time

Thu, 05 Feb 2004

Java Jerks

Charles Miller has a nice, concise (something I am not good at) plee for Java programmers to get a grip =) The interesting parts are the comparisons between language communities (Alan Green's comparison to Python and Glenn Vanderburg's (who really is as smart as the rumours say he is) comparison to Ruby.

I don't know the Python community very well except by association with the few Python developers I know -- and they are amazingly respectful and helpful people. The Ruby community is definately far more friendly, helpful, and respectful than the Java -- Ruby is just full of unbeliebably enthusiastic, talented, and helpful people. ruby-lang gives me warm fuzzies

I suspect it is a function of the size of the communities. Saying "Java Community" is awfully loaded. In Charles blog he speaks to the Java Community On Public Forums (ie, TSS) or JavaBlogs. This is a very different community from the Jakarta Commons community, which is very different from the Cocoon community, which is quite a different flavor than the OJB community which is miles different from the OpenSymphony community, which is insanely different from the Codehaus community, etc.

OTOH -- communities around mailing lists and newsgroups may just be nicer. Does the primary medium of communication influence the nature of the community in a statistically significant way? Maybe it really is just that a larger proportion of Java-centric developers who blog are jerks =)

1 writebacks [/src/java] permanent link

Finally Played with JDK 1.5 Some... I Likee!

So many things with various workarounds for manipulating the JVM are so much easier now. Java really is becoming a language for smart people, slowly but surely. OoOOoOO. I dearly hope that Apple gets off its ass [their asses] and releases the 1.5 JDK somewhere around the time that the Linux JDK is released or I am going to be stuck running IDEA over X =/

The java.lang.instrumentation combined with java.lang.annotation is going to lead to some of the coolest stuff seen in a long time. As Guillaume discussed some this evening, I think that the first things will see are all the XDoclet tools moved to Annotation, followed rapidly by bytecode manipulation and generation at the classloader stage (and a new idiom of Class.forName(...)ing everything in file (using the new Scanner class to read them out) in order to pre-instrument them at server startup time).

AOP is getting a big endorsement with all of the metaclass hackery being enabled. AspektWerkz may or may not take off, but if it doesn't it will only be because Rickard got around to releasing his baby (and promptly got bored with it and moved on, allowing it to explode in popularity). I think tools like my interception library will see use, but the design will need to be rethought since much more powerful things will be easier to do (why use a broker? You can effectively intercept new magic!). I may have to do that, actually =)

Btw, came up with a name for the unnamed interception library which I think I like, won't be official until Chris weighs in, but "Nail" is the idea. Sort of a play on YAIL (Yet Another Interception Library) with a (I hope) obvious pun on the N (use your imagination, or pretend you are Hani and think what you would put there); along with the idea that we've been trying to keep it as flexible as possible so that no matter what hammer you are wielding you can still use it (including an experiment I did to swap out the backend and use Nanning to handle interception instead of CGLIB -- it added a lot more limitations as Nanning is proxy based, and the Broker doesn't map well to an AspectInstance, but... it worked and I even got the unit tests to pass once I changed them from intercepting HashMap to Map).

1 writebacks [/src/java] permanent link