Java Development: Eclipse or IntelliJ IDEA? 122
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?"
Let me see if I've got this straight... (Score:4, Interesting)
Huh? If it's working, why switch?
I bet you were one of those "vi" types back in the day, weren't you? No editor can ever have too many features: Emacs all the way!
Re:Let me see if I've got this straight... (Score:4, Insightful)
Hey! It is a reasonable question. (Score:4, Interesting)
I find it a valid question that IDEA is worth the few hundred dollars it may cost in order to have a more streamlined experience.
Re:Hey! It is a reasonable question. (Score:2)
Eclipse is cool for having a lot of add ons. However for most of them I would prefer to have a solitair application instead.
Like my parent I use CodeGuide from www.omnicore.com for my serious work and Eclipse for CVS/Subversion access. Eclispe lacks a lot of features and in my eyes its in some areas very brainded
Re:Hey! It is a reasonable question. (Score:2)
Re:Let me see if I've got this straight... (Score:1)
Re:Let me see if I've got this straight... (Score:1)
and configurability...
I imagine that starting to use Eclipse is no harder than starting to use
any other IDE, but maybe IntelliJ is more streamlined?
What are the tricky parts with Eclipse? What wasn't clear?
I can imagine that checking out code from a repository (cvs or other)
as a first task may be a bit tricky? You might need to install a
plugin, and then select between some options on how to check out
the code?
Anything more? Just interested...
Re:Let me see if I've got this straight... (Score:1)
Re:Let me see if I've got this straight... (Score:2)
Sorry but this is sooo easy to figure out, you go Project -> Properties -> Source -> Add folder, and if you really couldn't figure this out you could always try reading the fucking manual.
Yeah, probably because it's NOT AN ERROR. As if Eclipse doesn't make things easy anough already, asshats have to come along complaining it's too hard to use. I
Re:Let me see if I've got this straight... (Score:2)
Re:Let me see if I've got this straight... (Score:2)
Re:Let me see if I've got this straight... (Score:1)
Actually, it sounds more like he installed Emacs and is wondering does he really need a whole OS running inside the editor when he just wants to change some text...
Vi / Emacs aside, what about eclipse is hard? I've just recently installed it for Java development and found it pain free and pretty simple. I know there are features I don't know about or know how to use, but t
Re:Let me see if I've got this straight... (Score:1)
Re:Let me see if I've got this straight... (Score:2)
don't forget netbeans- "ide religion" (Score:5, Interesting)
http://www.netbeans.org/ [netbeans.org]
http://community.java.net/netbeans/ [java.net]
than there is sun's java studio...what is this?? I don't know , but its free now and seems to be yet another ide.
http://developers.sun.com/prodtech/devtools/free/
Re:don't forget netbeans- "ide religion" (Score:4, Informative)
Re:don't forget netbeans- "ide religion" (Score:3, Interesting)
Re:don't forget netbeans- "ide religion" (Score:2)
If they're still doing that, you might want to wean them off [google.com] of ASP.NET.
Re:don't forget netbeans- "ide religion" (Score:1)
Easy (Score:1, Informative)
IntelliJ == NOT free
That's enough for me right there.
(Netbeans == free, but Netbeans == sucks)
Re:Easy (Score:2)
Free not always the issue (Score:2, Interesting)
But this really is a Religious War (tm), and as such there's no Right Answer (pat. pend.)
Re:Easy (Score:2)
Re:Easy (Score:1)
I really should preview.
Re:Easy (Score:5, Insightful)
IntelliJ == NOT free
That's enough for me right there.
Is that how you make all your decisions?
No condoms == free
Using condoms == NOT free
Cost/benefits analysis... more than just a buzzword!
Re:Easy (Score:1)
Re:Easy (Score:2)
Gee, thanks Pop.
Eclipse is free, bugless and extremely scallable; That's enought for me.
Fair enough, but your decision came after trying out many differing IDEs. But to base your entire decision on nothing more than "Eclipse is free, so that's all the consideration that's necessary" is rather naive -- and that's the issue I was addressing. Maybe if you're a student on a tight budget, price is the only relevant factor. However, if you use it daily for
Re:Easy (Score:1)
Re:Easy (Score:1)
A condom is cheaper than child support, but is that really an issue for the common slashdotter though?
(Disclaimer: I am married, and there's a prescription that handles this that is probably cheaper than buying condoms in bulk.)
Re:Easy (Score:2)
True but "free" as in speech programing tools have some hidden benefits.
A good example I ran into was a spell checker. My company found a very handy spell check library that supported many languages and had all the features we needed. It cost around $1000.
Okay fine. A few year later and it starts having some issues with the latest version of MSC++ and WindowsXP SP2. We call the company and they let us know that they are ending the product and no updates
Re:Easy (Score:3, Funny)
The sexual metaphor is:
Girlfriend: you can get them for lots of money (nice car, good clothes, Kenzo parfum, drinks), or no upfront cost, but it has hidden costs all over. You _will_ get screwed.
Drunk girl at the bar: FREE
Condoms are not optional.
Re:Easy (Score:2)
IntelliJ == NOT free
That's enough for me right there.
(Netbeans == free, but Netbeans == sucks)
Food found in a dumpster == free
Food ordered from a restaurant == not free
That's enough for me right there. And remind me never to let you treat! Not saying that Eclipse == dumpster food, but that the core arguement is very lame.
IDEA is a great,great IDE. Very full featured and if it doesn't have something in particular, there's scores of helpful user created plugins, or make your own...I w
IntelliJ Without A Question (Score:1)
Re:IntelliJ Without A Question (Score:1)
IDEA all the way! (Score:5, Informative)
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?
Re:IDEA all the way! (Score:3, Informative)
I'd agree. I have used both extensively, and IDEA has always had a much better UI. For something that I spend many hours a day using, that's very important to me. It's sort of like the difference between the iPod and Brand X MP3 player. It's not th
IDEA performance deteriorating (Score:2)
While one can refactor for better modularity
Re:IDEA performance deteriorating (Score:2)
It still seems to take about 3 seconds for IDEA to react to a newline typed into a JSP file which generates Javascript. However, it definitely helps to Heckle Hector.
Re:IDEA all the way until you find Eclipse (Score:2)
F2 (or hover mouse) * Ctrl-Q: show definition (and docs, if any) of symbol under the cursor
F3 * Ctrl-B: jump to definition of symbol under the cursor
Alt-LeftArrow * Ctrl-Alt-Left Arrow: back to previous location (like back in your browser, it has a stack of visited edit locations)
Ctrl-Shift-T * Ctrl-N: find class by name
Ctrl-Sh
What about NetBeans (Score:2, Redundant)
Tough Call (Score:5, Informative)
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.
What do you consider "a long time?" (Score:2, Insightful)
Re:What do you consider "a long time?" (Score:2)
Re:What do you consider "a long time?" (Score:2)
Java IDEs (Score:5, Informative)
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.
Re:Java IDEs (Score:3, Interesting)
Re:Java IDEs (Score:4, Interesting)
For me, this is perhaps the nicest feature of Eclipse. Most of my day is spent making changes to one file at a time, then testing to see if it worked. Our enterprise application consists of a server run out of a servlet container (Tomcat usually) and a Java client. It often takes half a minute to start Tomcat and the server and it takes a minute or two to launch the client, log in, and get to where you want to be. Incremental building and hot code replace mean that I can fix five bugs and try fifteen solutions to another problem without a single process dying. On some days the productivity gain is more than a factor of two.
And I agree with another commenter -- if you've already spent a lot of time setting Eclipse up, why switch now?
(Having just created a branch workspace, I'm rather disappointed with how few settings travel with you when you say "Export All Settings" in Eclipse. Why would I not want my annotation and text coloring to be the same? Why would you not remind me I need to export my code formatter? Why would you not export my code templates?)
Re:Java IDEs (Score:1)
You can try exporting preferences, but this has never worked to my satisfaction. Throw in badly-behaved plugins (like Jalopy) and all hope is lost.
Copy the whole workspace -- it's the only way to be sure.
Try these... (Score:1)
Re:Try these... (Score:3, Informative)
Especially Netbeans will support additional code checks in the future (think checking if your
I migrated, haven't looked back (Score:3, Interesting)
That was two years ago, and to be honest I haven't had much urge to check on how Eclipse is doing these days. I liked it when it wasn't crashing, and for the price you can't beat it... But when your company is picking up the tab and you just want it to work, you can't beat IntelliJ with a stick
I migrated, haven't looked back-GMF (Score:1, Interesting)
Well Eclipse isn't "crashing", but it can be a royal pain sometimes to update and resolve dependency issues across plugins. I'm currently trying to find
Re:I migrated, haven't looked back (Score:2)
Note that this is a pretty early "stable" release from the Eclipse Tools. So most things work, but they have not been smoothed out as best as they can do. Another problem is to keep the complexity out a bit. Eclipse does a fair job
Alternates to background assumptions (Score:4, Insightful)
Respectfully, in addition to asking which IDE to use, you should be asking yourself why this is. Particularly if you do not work in soloist isolation, collaborating with a colleague is in your best interests - you should have asked a college with expertise to assist you. If you are not fortunate enough to be in a master-apprentice relationship with a more experienced colleague, you ought at least shift your automatic frame of mind towards the collaboration of a working group. You could later repay with collaborative expertise in a particular subset of specialty you possess. Even in open source projects, such instincts for teaming and efficiency will serve you well. Your question has been good, but it's basis is suggestive an compartmentalized perspective or environment that may be at least as important to ponder as the finer points of IDE efficiencies.
I work with both simultaneously. Both are adequate workspace environments, relatively easy to migrate and setup(*). However, I find it more interesting to redirect to asking if have considered using both IDEs for their strengths, if costs permit. After migrating, I found no need to actually choose between them, and would ask you if your post hides a false framing question, implying a binary choice when other options exist. You need not fully setup a project in an IDE to reap many of the benefits of it's use. You may load a single source file and still perform a fairly broad number of powerful actions. (As other will no doubt point out, the mix of refactorings offered between them varies, it can be pleasing to utilize both for a combined pool of available IDE refactorings.)
With Murphy as my witness, I currently have Eclipse, Visual SlickEdit, NetBeans, and IntelliJ installed. I use Eclipse for a subset of some of it's refactorings, SlickEdit as needed for things such as horizontal column cuts and power-editing macro recording/replay (the other IDEs simply don't provide these features suitably), and IntelliJ for most development. NetBeans I confess to not much using; I've tried JDeveloper on a colleagues box. Such evaluations are useful - an IDE with even one or two favorable unique features easily run on singleton files repays the exploratory time.
That you may not wish the setup costs is a valid point, as is ability level at maintaining familiarity with multiple IDEs, however the counterpoint here about maximizing efficiency by selection and mix of the right tools, and about continual learning, are, I think, valid. In both regards to increased colleague collaboration and avoiding binary choices to build a robust mix of tools, please consider keeping an active mind.
(*) There are some occasional stray bits of migration errata in either direction, but nothing severe. For instance, Eclipse awkwardly roadblocking on, say, encountering a mixed case windows directory vs an all lowercase Java import. That was bad coding by a third party developer, but an awkward case to workaround in Eclipse that IntelliJ handled smoothly. Both are good IDEs, IntelliJ is perhaps a bit smoother and more robust.
Re:Alternates to background assumptions (Score:2)
Tried it, didn't like it (Score:3, Interesting)
However, the JSP and XML support in IntelliJ freaking rocks. Live templates combined with the IntelliJ JSP editor is enough that I switch out of Eclipse to IntelliJ whenever I have to edit JSP, even though I have WTP installed. I've been told that JDeveloper and Netbeans also have JSP editor support, but haven't looked at them closely.
Re:Tried it, didn't like it (Score:2)
I haven't kept up with either product. Three years ago, everyone in the Java shop that I was working in at that time always picked IntelliJ over Eclipse. They all swore by the refactoring support that IntelliJ had.
Has Eclipse caught up with IntelliJ with regards to refactoring support?
Re:Tried it, didn't like it (Score:2)
Again, I haven't found anything that IntelliJ does that Eclipse doesn't do, but I'm officially behind the current package now and therefore don't know what I'm talking about.
Eclipse: great, but sucks. (Score:5, Interesting)
Re:Eclipse: great, but sucks. (Score:2)
Re:Eclipse: great, but sucks. (Score:2)
Re:Eclipse: great, but sucks. (Score:3, Interesting)
Eclipse is a pretty intuitive IDE.
Intuitive means yoou don't need to learn it, it works just so. And if you already have used it for a while you don't have to remember any features you already used because they are right there where you need them.
Eclipse is anything but intuitive!
E.g. how many ways are there to create a new project and connect it to a CVS repository? And why does only ONE of those many ways work correctly?
The way how classpathes and libraries work is a compete mess. Why can't it be simple a
Re:Eclipse: great, but sucks. (Score:2)
Re:Eclipse: great, but sucks. (Score:2)
Re:Eclipse: great, but sucks. (Score:2)
When I was starting with Eclipse I had little problem figuring out stuff. Now it's like second nature. E.g. how many ways are there to create a new project and connect it to a CVS repository? And why does only ONE of those many ways work correctly? Well, creating a new project is as simple as File -> New -> Project or File -> Import to import an existing one. Connecting to CVS is as simple as (right click on project) -> Team -> Share project, etc.
Re:Eclipse: great, but sucks. (Score:2)
I would say the Java perspective is more useful than the Resource perspective since it has all the Java refactoring stuff in addition to being able to create/delete java files.
But thats what I say
Same for teh rest of your examples: it does not help much to point out the "easy" coammnd. As for every command you showed, there exist several alternatives wich either don't work, or have a sli
Re:Eclipse: great, but sucks. (Score:2)
A library in Eclipse is just a collection of jars and classes that you can use in multiple projects. They're useful for defining libraries of related stuff, so when you create a new pr
Guess I am not the only one (Score:2)
The first roadblock is how to run a program from the IDE. Yeah, yeah, in Java you have to specify which module contains a class with a static main method, but still, bringing up a project and figuring out the Run dialog can be an effort.
The second roadblock is how example programs are packaged -- some kind of .zip format and unzipping when you load proj
Re:Guess I am not the only one (Score:2)
Once you've defined a project and copied over your source files, just go to Project -> Properties -> Source and include/exlclude your source directories as required. Choose a build directory (or not) and Eclipse will build your project in
Re:Eclipse: great, but sucks. (Score:1)
Why not answer your own question? (Score:3, Informative)
The kids these days (Score:2)
Re:The kids these days (Score:2)
Now graphical debuggers are no big deal, but when the only thing you'd used before was gdb, it was really cool.
Re:The kids these days (Score:1)
Re:The kids these days (Score:2)
Re:The kids these days (Score:2)
Re:The kids these days (Score:2)
again...? (Score:2)
From an Eclipse user (Score:1)
However, it's clear that the Eclipse/IDEA argument is another vi/emacs war, and nearly everyone is going to have a strong opinion either way. I guess it's down to which fits the way you work best. I suggest trying IDEA out, if it works better for you, switch. If it's just as confusing as eclipse, don't bother, stick with the
Don't worry too much about the learning curve (Score:1)
Eclipse was always a step behind... (Score:1)
NetBeans 5.0 (Score:1)
Eclipse (Score:1)
Eclipse for me (Score:1)
But I like Eclipse. Here is why:
- Eclipse looks more polished including fonts, project navigation...
- Overall usage is clearer in Eclipse. I l
Future "Ask Slashdot" Q: Catholic or Protestant (Score:5, Funny)
====
Will we actually see this on Ask Slashdot? Well, why not have a real religious argument, that would probably be less controversial than what IDE to choose!!
Re:Future "Ask Slashdot" Q: Catholic or Protestant (Score:1)
Re:Future "Ask Slashdot" Q: Catholic or Protestant (Score:1)
I've used both in the workplace (Score:4, Informative)
1) more expensive
2) more intuitive
3) more reliable (ie: searches in Eclipse regularly left items out)
4) faster
I would say that #1 is your deciding factor. If you are willing to spend the money on it (you can usually get it for 1/2 price for a Personal copy -- and free for open source projects), it is a much better product.
Some will argue that Eclipse is better because of the fact that it is open source. As much as I prefer open source software, I was willing to spend the money on IntelliJ for home because of #2-#4.
Some will likely point out that #3 just means that I was likely doing something wrong. It wasn't just me - it was the entire team. At the time that I noticed this deficit (last year), the entire work team was required to use Eclipse; and a few of us switched to IntelliJ (and honestly a couple to JBuilder as well; no one switched to NetBeans, though we tried it) because all but 1 of us despised how Eclipse performed.
If you aren't looking for something with all the bells and whistles, you might just want to go with a much cheaper solution like JCreator (which I also paid for) -- but I personally would recommend IntelliJ.
ID what? (Score:1)
Re:ID what? (Score:2)
Re:ID what? (Score:2)
Idea rocks (Score:1)
Switch to netbeans (Score:1)
1. Its JSP, HTML, and XML editors are excellent. This is something that is sorely lacking in Eclipse. It is fast and it does not freeze like eclipse.
2. Eclipse freezes when trying to open a class or expand the project tree. This happens most of the times.
3. Code-completion is slow in eclipse.
4. NetBeans 4.1 comes with full integration with Tomcat 5 and Sun System Application Server PE 8.1. In order to get this
Why did it take such a long time? (Score:2)
Does It Have To Be Integrated? (Score:4, Informative)
Case in point, Anjuta, on the creation of a new app, creates a 500K config file and I have no idea what it's doing. Each IDE also has a tendency to create its own directory hierarchy, make file or equivilent, and if versioning is included, will pick its own scheme.
What this usually entails for me is loss of control over the project. I sort of feel trapped within the IDE, and unable to get out. The Visual Studio effect; I don't know where my code ends and the automatically generated stuff begins.
As such, I prefer keeping it simple. I use a bare text editor where possible. Syntac highlighting is a must for me, and I've found very few editors that do this correctly. Emacs will work if your colour scheme is OK, but Emacs is a quasi-IDE to begin with.
I find writing computer programs to be just that. Writing. It's a personalised sort of thing. A few personally written shell scripts, a handmade makefile, the command line and a decent editor can go a long, long way. You are intimately aquainted with all aspects of the project. On the downside, you are intimately aquainted with all aspects of the project.
Your milage may vary, considerably. But before you begin to use an IDE, as what it is giving you, good and bad, that a personalised DE is not. There's a trend towards monolithic IDE programs that do it all in one, but do they really deliver on their promise. Are you really more productive. Your troubles with Eclipse could be symptoms that IDE are really not for you.
Re:Does It Have To Be Integrated? (Score:2)
I use an Ant build for building and packaging deliverables. Eclipse compiles my code as I work (the Eclipse build Just Works (tm)) and the hot code replacement means I don't have to repackage using the Ant script until I release to test. Whichever way
IDEA 30 day trial (Score:2)
There are other free options as well:
Oracle JDeveloper [oracle.com]
Borland JBuilder [borland.com]
And maybe a few others if you search Google for "free Java IDE".
IDEA (Score:1)
It is much more stable (It caught a JVM bug, reported it to me and offered to restart or adjust itself!),
has excellent featueres built right in (no hunting for plugins and having to deal with buggy plugins),
has a MUCH shorter learning curve then Eclipse,
excellent version control (better then Netbeans 5, Eclipses' has bugs in it) subtle features that you grow to appreciate, exc
Not to muddy the waters.... (Score:2)
Give me VIM or give me death. (Score:2)
Id