I came down to Java One a day early because they asked me to join the closing-keynote panel on NetBeans Day. Now, I’ve been known to bang the NetBeans drum in this space, but to be honest I haven’t tried any of the competition recently and I have zero feeling for how the market is shaking out; so all I can say is that NetBeans works pretty well and pretty fast, for me. To be honest, I wondered whether all the NetBeans happy talk you find around blogs.sun.com might be partly comforting Sun-to-Sun cheerleading. Now, I don’t think so; they had 800+ people here today (up from 100 or so last year); and it’s been electric. Herewith some high points and pictures and (strictly for NetBeans users) some helpful hints.
Opening Salvos · Big applause line, from Rick Ross (quoted loosely from memory): “On the other side, there’s Visual Studio: there’s only one place to buy it and it costs you a lot of money. On this side, Sun and IBM and Oracle are beating the hell out of each other to do a better job of giving you free tools!”
Jonathan Schwartz made a speech, which included Todd Fast demoing some pretty neat real-time collaboration stuff (picture below). I thought the most interesting part of his speech was during the questions, when someone pointed out that we have different OSS licenses for NetBeans and Solaris and OpenOffice. Jonathan sighed and said “Yeah, isn’t that stupid? Not just us, but the whole industry.” He suggested that these days, there are three general families of OSS licenses that matter: GPL, MPL, and BSD. Like a lot of people, I would be delighted if we as an industry managed to converge on one from each family, but it’s gonna be a tough grind getting there.
NetBeans Hints · I went to a session by Roman Strobl and Jan Becicka on cool NB4.1 features, and learned about a bunch that I hadn’t heard of before. But most important, I learned that if you’re using NetBeans and you have a chance to watch their dog & pony, you should. Here are some of the hints:
You can split windows, horizontally and vertically, just like Emacs.
All those little navigation windows at the left have a little “slide” icon in their menubar, click it and they whip out of the way, and will reappear momentarily upon mouse-over.
Speaking of the Navigator, if you mouse-over the methods and fields you get coolio little tool-tips with declarations, and javadocs if it knows them.
Speaking of mouse-over, if you hold down the control key (command on Mac), everything you mouse over (method, variable, whatever) turns into a hyperlink.
There are these expand-selection and reduce-selection functions (keystrokes vary depending on your computer) that expand from the cursor to the statement, the surrounding braces, up to the method and eventually to the whole class. Lots of interesting applications.
Emacs has had “Hippie Expansion” for a decade or two, and it turns out that NetBeans has had it for years. Control-K except for command-K on Mac. Give it a try.
Control-tab works like it does in Windows, letting you cycle through a list of all files you have open, most recent first.
In the next release, there’s going to be this cool "error stripe" down the right side of the screen, obvious once you see it.
Competition · In the Java IDE world, we have it, and lots of it. It makes for good software. Come and play.