Netbeans 6 is AWESOME
As part of the subclipse problems I blogged about a couple of weeks ago, i started playing around with other IDEs again. In addition to the subclipse issue, i was tired of the less than robust jsp editing...neither the Web Tools or MyEclipse, in my opinion, are totally there yet. Though I've used MyEclipse for a couple of years now, i've never loved it. I just used it because it was the best i could do in Eclipse. It never came close to the great jsp editing facilities I was used to in IdeaJ. I also got tired of having to manage so many plugins. This abundance of plugins is, to me, also one of the biggest problems. I just cant get them all to play together nicely.
So..my first thought was to try Idea again. I downloaded the latest EAP version of Idea 7. While i was pleased to have a lot of the java and j2ee functionality built-in without the need for a plugin..the IDE felt S-L-O-W. If i didnt use it for a few minutes, it seemed to hibernate or something, and took a good minute or two to wake up. It also felt like the editor just couldnt keep up with my typing, and overall, it seemed like it was just plain getting in my way and slowing me down. Maybe that is due to using an EAP version, and i should have tried the latest stable release. Then again, i've read a lot of comments about how Idea 6 seemed to be a step back, esp in regards to memory and speed issues.
Next, i decided to try a Netbeans 6 again. I had tried one of the early milestones, and saw promise. 2 weeks ago, i downloaded milestone 8. After just 2 days, i found the IDE i've been looking for the last 2-3 years. Finally! In fact, i liked it so much, Eclipse/MyEclipse and IDEA have been removed from my machine. For the first time in 3 years, i have just one IDE on my machine, and i'm happy about it. No need to play around with anything else anymore.
I know IDEs all come down to a users preference. What i love, the next person might hate, and vice versa. However I would recommend anyone try the Netbeans 6 Milestone 8 edition and see what you think. I know Eclipse might have many of these features listed below, but i just think they are done better in Netbeans 6. Below are some of the reasons I love netbeans.
1) Lots of functionality outside the editor, without needed 20 freaking plugins! Built in are: svn/cvs (though you do need a svn exe on your machine), server deployment support, debugging, html and jsp editing, profiler, database explorer, load generator and many more.
2) I love the how the windows are used in netbeans, instead of the view idea in eclipse. Netbeans just feels more intuitive.
3) it detects my Ant build.xml, so i can just right click on the build.xml file and run a task..no need to open an Ant view as in eclipse.
4) the memory usage info is nice, as is the ability to run GC when i see that my memory usage is getting full. Prevents long GC pauses. I saw something similiar in eclipse, but it required a plugin.
5) the subversion support is really nice. I think the "view changes" functionality is done well. When i boot up, i run that command to see the incoming & outgoing changes..the rest of the day, i can just refresh it. I think eclipse has something similiar, but to me, its not as easy or as nice to use.
6) I like how the different windows are docked along the sides of the ide, compared to eclipse. hovering over them makes them temporarily pop out. This keeps you from having to click on a tab when you only need to glance at something. Just hover, it pops out, then move off the tab and it disappears.
7) The editor is nice and fast.
8) The Output tab keeps named tabs from commands you have run (like tomcat and ant task output). I know eclipse does this too, but again, its just better (to me) in Netbeans. In netbeans, if i run the tomcat reload task in my build.xml, the output is captured in its own window (again, eclipse does this). However, it also has a Rerun button. So for future tomcat reloads, instead of finding my build.xml, i just tell the output window to rerun the command. I do the same for running the app deploy task. I know its just a little thing, but these little things add up.
9) Overall, the UI design feels much nicer, and more intuitive.
10) It feels like an honest-to-goodness IDE, not a tool framework.
There are many more small things make me love netbeans 6..the above are just a few of them. I feel like I have a complete java development tool now, and I dont have to spend my time managing and debugging plugins anymore. When it comes right down to it, I am flat out more productive using Netbeans 6..which is really the highest compliment i can pay.
Note that if you do try out the netbeans 6 milestone 8 build...you will have the occassional error. I dismiss the dialog and continue working. It usually only happens 1-2 times a day..after all, its not a final release yet. It is also missing a large percentage of the refactoring in Eclipse, but this wasnt enough in my mind to outweight all the other advantages netbeans has.

24 Comments:
Hi, the refactorings will be coming back in future milestones - stay tuned. We had to rewrite the refactorings because of the new editor infrastructure. Cheers!
I have been using the M7 for a few months now, netbeans 6 is a BIG step forward!
Thanks to this article. I have been a netbeans 5 and 5.5 user before, but using eclipse right because of it's support for grails/groovy. I totally agree to what you have mention, the things that you love in the ide.
Cheers!
I tried NetBeans IDE 6.0 m8 build 200703280911. When I created a Java project, the IDE just froze. I had to kill the process.
Just curious, is there a way, as in Eclipse and IntelliJ, to have the IDE create a class? For example, in
public void bar() {
Foo foo = new Foo();
foo.snafoo();
}
Foo doesn't exist when I create the bar(). I'd like the IDE to prompt me to create it.
Sounds great! When do you expect the final version to be released?
The plan is to release NetBeans 6 before the end of calendar year (November 2007). There will be a good preview available in May and betas will follow.
how about supporting python development? Currently I use Eclipse b/c I can do my java work and python work (using PyDev). Does Netbeans support Python at all?
thanks
You should also give the profiler a try. Absolutely brilliant. A must-have tool for a developer's stash of tools.
I do miss the refactorings a lot and am happy to hear they are coming back in future (hopefully soon) milestones.
Like you, I found Netbeans 6 intuitive and extremely powerful. After working with Netbeans daily there is no way I can even think of using Eclipse or any other IDE. Fantastic work Netbeans team!
Eagerly waiting for next milestone! :-)
Check out this plug-in for Python:
http://jpydbg.sourceforge.net
Just curious, is there a way, as in Eclipse and IntelliJ, to have the IDE create a class? For example, in
public void bar() {
Foo foo = new Foo();
foo.snafoo();
}
Foo doesn't exist when I create the bar(). I'd like the IDE to prompt me to create it.
============
Yes, IntelliJ does that, and much more in terms of context sensitive code generation
great to know this. i heard about a JMeter plugin for NB6, is it available yet
Thank you very much for this blog post. Since I looked at Netbeans screencasts, I always wondered why I did not make the switch a few months ago.
I hate Eclipse Plugin hell. It just drives you insane. I want a working IDE and thats it. I dont care whether it is base functionality or plugin, it must be there from the start. I dont need 10 half working solutions, one or maybe two are enough for me.
BTW that is the same reason I will be switching to a MacBook Pro soon.
The "It just works" principle can make you a very very happy person.
If NetBeans support nice anti-aliased fonts, it would be more appealing. But even with the latest JVM 6 and the latest NetBeans, there is no real anti-aliasing on Windows.
Eclipse, because it uses native controls to draw on the screen, has very nice anti-aliased text.
I have no IDEA what is going on with IDEA. The product is getting heavier and heavier with all sorts of junk that IntelliJ is assuming everything is using.
IntelliJ needs to allow the user to install a lightweight IDEA and then add to it. This should be possible at install time and when using the product.
A basic Eclipse 3.2 is fairly fast. Load it up with TPTP, BIRT, GEF, EMF, CDT, et al. (and the rest of the stuff you need to get that stuff to run), and suddenly it is a pig. But that is also the strength of Eclipse. The platform ecosystem is orders of magnitude larger than IDEA/NetBeans. If you want to be able to do something, it will take some pain fiddling around, but at least it is possible.
Overall, I spend most of my time in Eclipse because of the clarity of the fonts and the fact that so many tools work with it.
I have bought IDEA but don't use it much anymore. I started with 5.1 and found it a nice change from Eclipse. But 6.0.X and the new 7 are bloated and hard to use compared to 5.1. The UI has not scaled well.
As for NetBeans, it may be appropriate for developers who want a simpler tool vs. Eclipse or NetBeans. But unless you disregard the possible dangers of staring at a hard to read screen all day, it is just not worth it. Personally, I do like the simplicity of NetBeans and if the font issue were fixed, might find it a substitute for IDEA 5.1 which I used frequently for small projects.
To the last poster:
You *can* have anti-aliased fonts in NetBeans. Open the etc/netbeans.conf file under the NetBeans installation directory. Look for the line that begins with "netbeans_default_options=", it includes several arguments that will be passed to the JVM when NetBeans starts. Include " -J-Dswing.aatext=true " in the arguments and you're set. You can also enable anti-aliasing only in the text editor by doing the following: open the Tools -> Options menu, click Advanced Options. In the Editing category, click Editor Settings. Check the Text Antialiasing box on the panel located to the right, click Close and that's it. So, no excuse not to try NetBeans now ;)
Roger Araújo said:
"You *can* have anti-aliased fonts in NetBeans. Open the etc/netbeans.conf file under the NetBeans installation directory. Look for the line that begins with "netbeans_default_options=", it includes several arguments that will be passed to the JVM when NetBeans starts. Include " -J-Dswing.aatext=true " ..."
I have a question. Why this is not default behavior of Netbeans? Default fonts look of Netbeans is ugly.
And I want to say Netbeans is AWSOME, but Eclipse 3.3 is also AWSOME. So everyone should use what preffer. I'll stay with Eclipse of course. And I'll never tell that Netbeans is bad because that is not true. And competition is good. Netbeans wouldn't be so awsome that there is no Eclipse or JIdea or whatever. I think that in the future Netbeans will make Eclipse better, and Eclipse will make Netbeans to be better and users of both will be happier.
The fact that fonts are not anti-aliased by default is not actually a NetBeans issue, it's a Swing issue (NetBeans's GUI is made with Swing). Until JDK6 came along, anti-aliasing in Swing was turned off by default, so you had to turn it on by passing the "-Dswing.aatext=true" argument. Starting with JDK6, Swing honors platform-specific anti-aliasing settings, so you don't need to use command-line arguments. Eclipse never suffered from this problem, since it's made with SWT rather than Swing - SWT uses platform-native rendering whenever possible, so Eclipse uses platform-specific settings in a transparent manner.
And yes, Eclipse is an awesome piece of software. It's really nice that every IDE on the market keeps trying its best in order to gain your preference. Healthy competition is the best incentive to improve and innovate.
Roger is right. The swing.aatext switch works only with JDK 5 and this anti-aliasing method does not work very well, especially for smaller fonts (YMMV). The user can also enable anti-aliasing of Editor fonts only using the Tools | Options | Advanced Options | Editor Settings | Text Antialiasing option.
Starting with JDK 6, NetBeans relies on the JDK and the default system settings to determine the anti-aliasing method. FWIW, I'm running NetBeans 5.5 and higher on JDK 6 and Windows XP with ClearType system setting and I never have to worry about any special switches. It runs just fine and the fonts look the same as in the native apps.
Hi,
Text anti-aliasing in Netbeans 6 with JDK6 works here, except in the area where I need it the most: the source editor area. I've tried all tricks described here in the comments. Any suggestions?
Well, I just now took NetBeans for a spin and I am liking what I am seeing. I am a big fan of IntelliJ. But its expensive. I worked on Eclipse for quite some time now and I started liking it. What I missed in NetBeans just now is good HashCode, equals, compareTo, toString generator. All these are available in Eclipse either by default or by some or other plugin. Not sure if NetBeans has anything of that sort. But what I really liked abt NetBeans is its plugin called NetBeans UML for UML modeling. Its awesome. Eclipse never had any "free" good UML modelling plugin. I am loving NetBeans.
I'm liking netbeans6 as well, and I'm a long-time Eclipse fan. As with any IDE, there are little features that you come to depend on, and for me the Eclipse features for "Open Type" which lets you browse for a class by opening a dialog which provides type-ahead wildcard search, is just invaluable. Does anyone know if Netbeans has an equivalent feature?
"Open Call Hierarchy" in Eclpse is also something I can scarcely live without. Netbeans?
Hi Joe,
Netbeans 6 supports
Open Type -- Use Alt+Shift+O
Open Call Hierarchy(Stack) -- Use Alt+Shift+3
Open Class Hierarchy -- Use Alt+Shift+F12 (or select "Inspect Hierarchy" in context Menu)
I just saw the earlier posts about anti-aliased fonts and Netbeans, I must say I do prefer non anti-aliased fonts in the editor. Maybe consider getting yourselves a good display?
Accustomed to using Borland Together I'm actually trying to turn anti-aliasing off for UML diagrams (that's how I landed here :-) for clearness' sake. Having micro-anti-aliased classnames, attributes, etc. on a diagram with a lot of boxes around is simply non-work/viewable.
I have a Thinkpad T60p with possibly the best laptop display money can buy. With a 1600 x 1200 resolution the antialiased menu fonts in GNOME are clear and easy to read. While the editor fonts in NetBeans are nice, the GUI fonts are jagged, badly hinted and have poor readability. "-Dswing.aatext=true" doesn't make any difference.
Some things I really like about NB5 and up are:
1. Can make changes to a Java class, compile it and push it into the running JVM. The JVM doesn't have to be restarted to test the changes.
2. Debug JSP files and watch the variables.
3. The UML module with built-in reverse engineering and code generation.
4. The refactoring stuff is pretty neat. Can move and rename things easily, also extract methods.
5. The code generation lets you write methods before they exist, then create them automatically. I hear NB 6 improves on this a bit.
Post a Comment
Links to this post:
Create a Link
<< Home