JavaOne Day 3: NetBeans refactoring meets 2002
Thursday, May 10th, 2007So far I’ve been to two sessions today (sort of, I can never show on time or last the whole duration). The concurrency testing one by Brian. Cliff, and Bill Pugh was as brilliant, well executed, and informative as one would expect, so not much to say there. The one nitpick I have is the silly JUnit extension that one of those guys came up with to run tests in different threads, by prefixing the method name with ‘thread’.
This would be fine if it were out of ignorance, but even the most cursory research would show that you could do just that with TestNG with basic usage of parallel tests and grouping to ensure that any given set of tests run concurrently, and these guys certainly know about TestNG. Some of the earlier content felt very 2002ish (mind you, that’s how most junit3 code looks to me now). They did mention TestNG and JUnit4 though, but the actual examples didn’t seem to make much use of either.
The next talk however was what can best be described as a cruel and terribly unfunny joke. It’s by a NetBeans guy about refactoring, and with such a lofty title as ‘pushing the envelope’ I and many others in the audience foolishly thought that it’d be relevant and topical, and would discuss cool upcoming refactorings or advanced stuff.
Instead, the guy spent the majority of the talk telling us how refactoring is great, and how IDE’s ‘knowing’ how to parse source code is great, and how all sorts of things are possible. I’m fairly incredulous at this point. I remember having these thoughts at around the time of IDEA 1.1 (later renamed to 2.0) and feeling the same sense of amazement that this netbeans guy is feeling right now. If NetBeans’ refactoring team really does feel this way, then it must be such an abysmal IDE, where they’re so proud of doing stuff like method and parameter renaming nowadays when the rest of the civilised world has been doing so for years. The only saving grace is that he’s a good speaker, but that’s sort of pointless given how much brain damage the talk content is causing to all these poor bastards sitting in.
In fact, I’m so aghast at this that I can’t believe it’s going to be this bad. I’m convinced that this is some kind of limbo wasteland area in his talk where he says incredibly obvious pointless things, and the demo will make it all good. I see some friends walking out shaking their heads in a mixture of sadness, anger, and horror. I follow suit; we’re barely out the door and explode with indignation and rage. How dare someone steal these precious minutes of our innocent young lives? How could the talk title be such an utter boldfaced blatant lie? Thankfully, the jig is up and there’s now a steady stream of people fleeing the scene.
As we’re sharing our misery and lamenting the pain and pointless agony inflicted on us, Kevin (of guice fame) stops by and so innocently mentions that he’s going to the talk. We give him a stern talking to and charged with a new purpose, he takes it upon himself to go in the room and rescue as many hapless victims as he can. He arrives a couple of minutes later and proclaims that the demo being shown now is a method rename, and has a few more googlers in tow looking fairly dazed and confused with a clear expression of ‘I’ve managed to get into Google, how can this kind of thing still happen to me? What kind of insane uncaring world do we live in?’.
On the plus side, I did end up meeting Jesse of glazedlists fame, but at what cost, at what cost! I’m horrified that such an abysmal talk passed the review process. NetBeans team, shame on you. Maybe you should install IDEA along with the Refactor-J plugin to see what sort of refactoring real men are doing these days, instead of the little girl pansy flouncing about you’re so proudly cawing about, you blind maggots.