Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I don't want to know which IDE is best, because that's subjective. I'd like to know how to evaluate an IDE. I'm primarily a vim user, and realistically happy there, but occasionally look at languages that have powerful IDE's and I consider using them.

The problem I run into is that they mostly seem the same to me. Certainly any of them will work, but when trying to decide which IDE to invest time in how do I decide?

What features should I be testing to see if I like the way A or B works better? Obviously some IDE's are specifically tailored to a language, but given a choice between say Netbeans, Eclipse, and Intellij IDEA, how would I decide? as a novice they seem the same.

When evaluating I generally try the editor, a few configuration options, file browser. I think my colleagues all basically the same as me and don't use IDE. I also doubt I'd end up using the IDE for work, because Perl shop, and I'm happy with vim for that, I'm simply trying to figure out how to use them in the context of languages that aren't day job and have solid IDE support.

share|improve this question
8  
How do you pick a meal from a menu. Try them out and see what you like. – James Jan 17 at 2:50
1  
Why do you think IDE evaluation criteria are any less subjective than "best" IDE? If everyone used the same criteria, it'd be easy to objectively pick the best IDE. – Caleb Jan 17 at 4:45
what specifically have ou tried when evaluating? – gnat Jan 17 at 6:53
This might help : programmers.stackexchange.com/q/125796/20065 – BЈовић Jan 17 at 8:00
If you cannot decide otherwise, google "<name.of.IDE> IDE" and pick the one with the most hits. Tie breaker criterium – scarfridge Jan 17 at 8:39
show 8 more comments

4 Answers

Try them out!

You mentioned that you're a vim user. Assuming that you don't want to give up your superpowers, you'll probably want to see which IDEs have better vim modes.

Think about if you want an IDE that works with many languages, or multiple which are fantastic at the language they specialize in.

It's all a matter of opinion.

share|improve this answer
that's the only way : try them out – BЈовић Jan 17 at 8:00

An IDE is supposed to increase your productivity. That should be your criteria.

Whatever IDE's you wanted to try, download and install them first. Try coding in each of them, one by one. Or try one a day. By the end, I'm sure you will figure out by yourself which one could make you more productive.

Each IDE has its own settings, keyboard shortcuts, behaviors, etc and if you keep using them regularly, you will get comfortable around them and get used to them. Here are some other factors you might want to consider when evaluating IDE's:

  1. If it is in active development
  2. If it has good community support(and wide adoption as well)
  3. If it has a good and growing number of plugins/extensions
  4. Might not be relevant - but if it is free or paid

I have been using eclipse for 3 years until my colleague asked me to try IntelliJ IDEA. I have been very comfortable with eclipse for 3 years. However, I liked IntelliJ better as it is as they have advertised - more intelligent. Plus, they have a community edition that is open sourced and free. So, I switched to IntelliJ as it improved my productivity, but whenever I am helping other colleagues who are using Eclipse, I won't have trouble with that.

I personally find myself trying every IDE I get across, because, the IDE's have a lot of scope for improvement and they will keep getting better and intelligent.

share|improve this answer
1  
I'd argue that "one a day" is too short of an evaluation period. If I'd evaluated vim by my first-day experience, it would not have become my living room. ;-) – Stefan Majewsky Jan 18 at 21:24
That's true. One day can be short(especially, when you work only a few hours per day). However, if you are use it from morning to evening, you will get a better hang of it, enough to evaluate among its peers. I like vim too. I specially like the line yanking and pasting. – Sundeep Jan 19 at 7:57

There's not much point in defining evaluation criteria. Even if you define some, you will have to play with the IDE to decide if it satisfies them, but then again by playing with the IDE you will encounter things you like or dislike about it anyway, regardless of whether you established criteria or not.

My algorithm is: I choose the defacto standard for the language/SDK I'm using and just wait and see. If I encounter too much problems I'll consider switching to an IDE which is promised (by advertisement or word of mouth) to not have these specific issues.

As others have mentioned, since you're a vim user, one easy thing you can do is look at available vim emulation plugins.

share|improve this answer

As a developer, I consider whichever one helps me get the job done the quickest with the least frustration. Also, one that is popular because I know I can find support for just about anything via google if that is the case. As a fellow vim'er I tend to choose ones with vim plugins (e.g. eclipse and visual studio both have vim plugins). Then it's the best of both worlds :)

share|improve this answer
1  
I've honestly not found vim support to actually work well in eclipse (mostly due to the fact that it seemed to make the editor portion a separate program and so what's the point?), but qtcreator, and anything based on katepart in kde have decent vi bindings now. anyways I suppose looking for vi bindings has been something I've looked for. – xenoterracide Jan 17 at 1:52
@xenoterracide: It depends on what vim bindings mean to you. I for one have grown to rely on defining my own syntax highlighting rules in Vim command mode. I know no IDE that has hot-configurable syntax highlighting like that. – Stefan Majewsky Jan 18 at 21:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.