Slashdot Mirror


Java Development: Eclipse or IntelliJ IDEA?

Java_Good_COBOL_Bad asks: "For Java development, would most people recommend using Eclipse or IntelliJ IDEA? I am currently using Eclipse and it took a long time to get the environment set up. I understand that Eclipse is a framework that can be used for many things, not just Java development, but all I really need is an IDE for Java. So, I wonder if Eclipse is more complex than I need. I have never used IDEA before. Is it more straight-forward? Has anybody here migrated from Eclipse to IDEA? How steep was the learning curve?"

4 of 122 comments (clear)

  1. IDEA all the way! by avalys · · Score: 4, Informative

    IDEA is the best IDE I've ever used. It automates pretty much every mindless code navigation/generation/refactoring task, but stays out of your way otherwise. Really, it's not so much an IDE - more an souped-up, heavily-Java-specific text editor. There are no wizards, and it never hides code from you. It just takes a lot of the tedious tasks out of coding.

    It's not hard to use, but the sheer array of features can take some time to discover and learn to use. It is very definitely "straightforward".

    Eclipse is not bad - IDEA is expensive, and Eclipse is a decent free alternative. But if you have the money, there's no reason not to use IDEA. Eclipse has always seemed to me like a poorly-executed IDEA clone. Similar to most open-source desktop software, really.

    And don't listen to the masochists who will tell you a text editor and the command line is all you need.

    IDEA has a 30-day free trial - why don't you download it and give it a spin?

    --
    This space intentionally left blank.
  2. Tough Call by GOD_ALMIGHTY · · Score: 4, Informative

    Depends on what you need to do, which frameworks your using. I've found IntelliJ integrates with a standard IDE-neutral build xml and custom tools like XDoclet much better than Eclipse. Eclipse demands that your project be built inside Eclipse to use any Eclipse tools. The default Java editor in IntelliJ is nicer than Eclipses as well.

    If you're supporting multiple developers, Eclipse can be easier to get people to standardize on, making debugging the dev environment easier. If your doing JBoss work, the Eclipse based JBossIDE might be nicer than IntelliJ, just because everything is setup already. Avoid Rational Application Developer at all costs though, it probably needs a couple of revisions before the IBM over engineering gets out of your way and lets you work.

    It's been a while since I've tried to do web framework stuff in IntelliJ, although it's always handled this a lot better than the plugins for Eclipse that I've seen, it never handled XDoclet integration well enough to deal with tag library and struts tags. That always made some nice features useless. Eclipse is just as bad, I've yet to see a good set of plugins that handle all the tools I use in a standard Java dev environment. Many of the plugins seem to expect things done the Eclipse way, or they become useless. I wouldn't mind doing things the 'Eclipse way' if that were synonymous with IDE-neutral, but until then, the Eclipse way won't cut it.

    The thing that annoys me the most about all these IDEs is the lack of imagination in tool-building. Very few graphical tools handle the IDE-neutral environment well, the wizards and syntax highlighting engines tend to be extremely inflexible. If my project needs JUnit testing, why wouldn't I do an automated nightly pull and generate a public report everyday? Wouldn't my IDE only be helpful if I could do the Unit tests outside the IDE, without figuring out a boatload of crypticlly stored dependencies?

    Anyway, I'd try each of them out with the particular features you need, and make sure to check that they will easily integrate other tools you'll need. Java IDE's could be a lot nicer. Both Eclipse and IntelliJ have made great improvements, but this is more a half-way point than anywhere near a victory lap.

    --
    Arrogance is Confidence which lacks integrity. -- me
  3. Re:don't forget netbeans- "ide religion" by junkgui · · Score: 4, Informative

    Sun java studio creator is netbeans 4.1 with some added propriatary plugins for drag and drop JSF coding... And eventually it should pull in nebeans 5.0 features as well. Drag and drop JSF is very important if you work in a shop that is constantly teatering towards ASP.NET because it is basically the same product. If you work with people who don't have the greatest skill set this can make them productive at building web gui, and netbeans/swing will always be better at building stand alone swing apps then eclipses attempts. Netbeans is much better then it used to be, but it is still occward in a lot of ways. The one standout feature that I like about netbeans is that ant is integrated into the IDE much more completely, there is no way to build a netbeans project without haveing a working ant script that can also be run on the command line. Other IDE's don't force your hand the same way, and I really hate projects that are not written in such a way that you can just check them out of CVS and build them/deploy ear files... Also netbeans 5.0 has a profiler that is still not working very well, but when it does work it will be a very nice addition. On the other hand eclipse is really very easy to work with, and works very well. The GUI is very nice and very consistent, but I think that swing has the possibility of being much better then SWT, so feel free to ridicule spelling errors in this post and call me an idiot.

  4. Java IDEs by Khanar · · Score: 5, Informative

    You should also at least look at NetBeans.

    Anyway, I have used all three of the big Java IDEs.

    While they all share the same basic functionality, like great refactoring, ANT, and JUnit support, each has some areas it excels in. I would say IntelliJ is slightly better than eclipse (the free version, I have never used IBM's eclipse based environment), and both of these I prefer over NetBeans.

    The main reason I prefer IntelliJ (if you can afford it) is that it has more useful shortcuts, more intelligent formatting capabilities (if you press enter while in a quoted string it will automatically insert the needed quotes and plus sign and place the rest of the string on the next line, and back again).

    One feature I really like, that from what I remember is only in Eclipse, is incremental building. The other two require you to hit a build button before hitting the run/debug button. Not that I'm lazy, but you really get used to it building automagically when you hit save. One thing I find kind of annoying about Eclipse is that it doesn't include support for say, xml editing, which the other two support out-of-the-box, instead requiring you to go to their site and finding web-tools plugin. Also the internal parser used for error marking often requires saving the file before it will refresh the markings on the page.

    The reason I put NetBeans last, is that it doesn't include quick fix suggestions. Its nice to be able to hit a couple of keys and have the IDE suggest and fix simple problems without having to look at a reference, or moving a bunch of code around.

    From my experience all three of these IDEs take about the same amount of setup when you get passed simple applications, so if you had trouble with Eclipse, I don't think IntelliJ or NetBeans will be much simpler.

    There is always javac I guess.