JavaOne Day 3: NetBeans refactoring meets 2002

So 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.

10 Responses to “JavaOne Day 3: NetBeans refactoring meets 2002”

  1. Sixth and Red River Software Says:

    >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.

    That’s totally going in our next press release.

  2. Taras Tielkes Says:

    You might just get what you ask for.
    The Netbeans 6 editor looks like an carbon copy of IDEA 5, down to all the completion shortcuts.

  3. Carlos Sanchez Says:

    >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.

    A whole paragraph without any sexual reference, what a fucking waste of my precious time

  4. Joshua Says:

    The walkout rate on that talk was impressive. I am still not sure what about it was “Advanced” or “Pushing the cart before the horse” or whatever. His constant apologizing was pretty advanced. At least Netbeans appears to be almost interactive now instead of the turn-based editor it used to be. Five words per minute is seemingly possible now.

  5. Ed Burnette Says:

    I hear the next version will even be able to reformat entire sections of your source code!

  6. Farrow Says:

    It already does that - just use the SVN plugin…

  7. Andrabasen Says:

    Hi Hani, love your blog.

    Why haven’t you biled about OSGi?
    http://www.sda-india.com/sda_india/psecom,id,22,site_layout,sdaindia,news,18005,p,0.html

    BR,
    Andrabasen

  8. Zarar Siddiqi Says:

    The next release of NetBeans should have a feature where you get to “refactor” your project into a different IDE.

  9. Terry Says:

    Hey man, need some biling about the staleness of Groovy and Grails and that type of stuff. Keep it up.

  10. avsa Says:

    It already does that - just use the SVN plugin…

Leave a Reply