There are two free IDEs for Java: Netbeans and Eclipse.
Netbeans seems to have better auto-complete support and compile/debugging support. However, it lacks support for auto-completing variable/method names, as well as word-wrap support.
What are the Pros & Cons of Netbeans over Eclipse, and vice versa?
Eclipse [1] - first and foremost, because it has amazing versatility as a platform. If you are into it, it can be your only IDE you will use for any type of development: Java by default, C++ via CDT [2], Java EE extensions [3], Python via PyDev [4] - just to name a few.
Needless to say, Eclipse has full and complete support for java development: code completion, syntax highlighting, code refactoring, etc. I rarely find myself needing external tools for these types of jobs.
[1] http://www.eclipse.org/This is one of the most recurrent questions in Stackoverflow. The battle between Netbeans vs Eclipse is becoming such an epic one similar to the Vi vs Emacs.
The users of stackoverflow have discussed many [1], many [2] times only for barely comparing them programming Java or using them for something more specific such as RCP [3] or GUI [4] programming.
According to the responses some conclusions can be drawn:
I would recommend trying both to see what works best for you.
I think NetBeans has come a long way and deserves at least equal billing with Eclipse now. Eclipse had a good head start, because NetBeans stumbled out of the blocks, but I think it's drawn even. The Eclipse plug-in architecture seems a bit bloated to me now.
UPDATE:
Since IntelliJ community edition [1] was announced, we have a hands-down winner for best free Java IDE. It's not even close.
[1] http://www.jetbrains.orgI'm happy with Netbeans, some pluses for me are:
With the exception of the GUI designer, I don't think any of this is unique to Netbeans - it just works well enough for me and is mostly straightforward to use. I found eclipse a bit difficult to approach.
I don't ask much from an IDE though - I'm also happy to use Textmate on the mac.
The GUI builder from NetBeans is a huge plus for it against Eclipse. If you don't do GUI development, then they are relatively equivalent.
As a very occasional Java developer, I have found that NetBeans was less complicated than Eclipse and therefore more accessible and easy to use.
Eclipse though is far more extendable. I've found it no problem to jump between the two perhaps you should do the same?
I use Eclipse for my Java development, but that's the IDE I used when I first started programming Java. I've checked out both Eclipse and Netbeans and I think overall it just comes down to personal preference or what you're used to using. Both IDEs have good support of Java and several plug-ins to integrate other tools with your development.
If you plan to use your ide for academic or open source projects, i recommend idea intellij.
Otherwise just try Netbeans and Eclipse, then decide on one of them. I have used both of them. But nowadays I prefer Netbeans because I think that it is more user-friendly and easy to use.
By the way both of the IDE's won't have many differences in comparasion charts but the implementation of the features differs for instance svn, ruby, jsf vice versa.
I would really recommend Netbeans over eclipse there is some really good stuff in it and it's also very easy to use.
The auto complete is extremely good such as in the way when your auto completing parameters for a method it wills suggest ones of an appropriate type etc.
It does however not have word wrap (however it is on the cards for 7.0) but when writing Java code you really should not need it as most Java code conversions stick to the 80 character long line limit.
If you have a look at http://wiki.netbeans.org/NewAndNoteWorthyNB65#section-NewAndNoteWorthyNB65-Java that shows some of the great new features for Java in Netbeans.
I used Eclipse for years and have just recently switched to NetBeans 6.5. Eclipse needs such a hodge podge of plugins to get it to up to snuff where as with NetBeans I only use a few, nice to have plugins.
NetBeans also has much better Maven integration. I've tried the various plugins for integrating Maven into Eclipse, and they're abysmal.
InteliiJ Community Edition is also free and my preferred choice.
IMHO Intellij pluses are;
;
but it wasn't worth fixing, until I use IntelliJ and fixed them all with two clicks.I don't use all IntelliJ's features. For more features where IntelliJ is better http://www.jetbrains.com/idea/features/
There is also JCreator, DrJava, BlueJ, Gel, JIPE, SyncJEdit and some claim emacs. ;)
I can't recommend any of these. Actually, I can't recommend any IDE for you. Despite believing that every person is different, the same people insist that there is a "best" which is best for everyone.
This just doesn't work. If you want your question answered, get all three, install them and use them for a day. Each IDE has a different philosophy, a different mind set and will fit different people. In my team, two people use IntelliJ IDEA and I'm using Eclipse. I've tried IDEA and frankly, it sucks for me. I would never use it for any kind of work and if pressed to list all the things that I don't like, I wouldn't know where to start. Eclipse just fits my mind set and IDEA doesn't.
For the other people in my team, Eclipse would be about as wrong as IDEA is for me. Plus, all IDEs store their project files in a different place, so there is nothing stopping us from using what is best for each one of us.
Eclipse if you want more functionality and customization, Netbeans if you like having one "super IDE" that gives you everything out of the box like MS Visual Studio. I've used them both (just in passing since Java is not my specialty) and liked Eclipse because of the plethora of plugins available, but Netbeans was very nice coming from an MS background. Netbeans has come a long way as well and is now pretty much equal to Eclipse in terms of functionality.
If you haven't already, download them both and play around and figure out which one works best for you. If you're doing GUI development, though, then Netbeans wins hands down because of their "Matisse" GUI builder; it's the single best GUI builder I've ever seen.
I am surprised that nobody has not yet mentioned the distributions of Easy Eclipse
EasyEclipse packages together Eclipse, the open-source software development platform, and selected open source plugins.
You can find the distros here [1].
I personally use the Expert and GUI distros.
I find it useful not to have all plugins in one Eclipse.
[1] http://www.easyeclipse.org/site/distributions/index.htmlI haven't used NetBbeans in years. But I'm sure both Eclipse and Netbeans support the Java programmer really well. I use Eclipse daily and I must say that it kicks ass. It has a huge support from the open source community.
I've used both Eclipse and NetBeans , but not for any huge projects. Eclipse doesn't have a built-in GUI designer, so you have to do it either by hand or with a plug-in. Also, Eclipse makes a ton of temporary files in strangely named directories for some reason, and that always bugged me (a minor thing I guess).
NetBeans was perfect for what I was doing, it has a top-notch GUI designer, and a cleaner interface. I also liked how easy refactoring was, but I think it's probably just as easy in Eclipse.
In the end, I'd recommend NetBeans unless there's some awesome plug-in for Eclipse that will help you.
I have not used Netbeans.But I used intellij IDEA.It works very very slow compare to Eclipse.For java programming my choice is always eclipse .
Eclipse is great.
Features:
I never was a huge fan of IDEs until I discovered NetBeans. Now I'm a total convert. It's simple to use, unfussy and intuitive. Conversely, having been obliged to use Eclipse on a number of projects I have worked on, I can only say that the opposite applies.
In my opinion is NetBeans the Best Free IDE, because it is very neat, has a good speed and i think the integrated GUI - Builder is the best i have ever seen for free!!!!
The one Thing i feel to need is an Repository Explorer like it works in Eclipse.
One word .. NetBeans
I have made several (mostly) successful programs with NetBeans. The one time I tried Eclipse was when a friend forced me to try it-I'm still suffering from the side effects. :)
I would definitely go with NetBeans.
Real men use IntelliJ.
People who were old enough to be a java developer when IntelliJ first came out, and didn't become a user of it, have some explanations to do in my book. If it was because it costed a day of your salary, I just cannot take you seriously.
I would second eclipse recommendation as pointed by previous posts. It has good set of features and adding new plugins like finbugs for your java projects is pretty simple.
Oracle's JDeveloper is also free (as in beer), and feature wise on par with eclipse and netbeans. It's probably more complete than eclipse, as you don't have to install a lot of not so well integrated plugins. Includes visual support for jsp/jsf/swing, ejb support etc. It lacks good maven support though and it's drag and drop support through adf bindings is sort of propriatary, as only oracle supports it.
I would like to use NetBeans more, but some of the tools I've used are exclusive for NetBeans:
I use Netbeans. Actually I work with Maven.
Netbeans take maven project folders which include a pom.xml as its native project.
It doesn't have to import or install any stupid plugins. And it doesn't make any stupid dot files inside my project folder.
I really don't understand who uses Eclipse. I'm pretty sure there are a lot of so called Java developers can't make 'hello world' program without Eclipse.