9

As I learned some basic programming languages I came across tens of IDEs, and tens of compilers. Most people you ask will tell you "Go with that IDE or go with the best" etc, however they do not provide a proper statement as to why this is important. I understand a good IDE will provide you with functionalities to save time and money, such as debugging or quick-word-fill, but I doubt that's the whole reason a programmer picks a good IDE.

At school we work on old compilers (Money probably isn't the reason) because the theory "As long as you learn it's good" works.

The bottom-line question is: How important is it to pick the best IDE for your programming language? YOu have Eclipse for Java, C++, Python and more, but can't you simply use a different one? What difference does a good IDE to your programming skills or your programming time?

12
  • 16
    There's no objectively best choice for IDE per language. Whether an IDE is 'best' is purely a personal opinion. Mar 7, 2012 at 19:03
  • 3
    Please be more specific about which IDEs you are comparing. As far as I am concerned, with .Net there is only one IDE; Visual Studio.
    – Jon Raynor
    Mar 7, 2012 at 19:04
  • 2
    Give each IDE a fair shake and use whatever you like best.
    – Bernard
    Mar 7, 2012 at 19:07
  • 3
    @tp1 I can assure you a decent IDE (so one that is not merely a notepad + compiler as some open source ones I've tried) will make you write (and debug! how can you forget that?) code faster. The only thing that's slower is the learning curve but that pays off quickly
    – stijn
    Mar 7, 2012 at 19:14
  • 1
    @tp1: A debugger is always useful to have available. Unless the code you work on code that is only written/modified by yourself and you are immersed in to 12 hours / day. Mar 7, 2012 at 19:21

6 Answers 6

12

What difference does a good IDE to your programming skills or your programming time?

Potentially a lot. If you get to know the features and capabilities very well, you can greatly improve your productivity. But if you ignore the advanced features and treat it like a pretty text editor, then it will be a little better than using Notepad and a CLI compiler.

Of course, you should be able to learn to use ANY IDE efficiently. For me that mostly that involves becoming familiar with the most commonly used commands and learning their key-shortcuts (or making my own bindings if they don't exist). If the IDE has tools for refactoring and generating code, that can also improve your productivity if you can get the IDE to do repetitive tasks quicker than you could ever do on your own.

Not all IDEs are made equal though, and so you might find that no matter how good you get with one, it might never be as productive as another (for the same kind of work) because there are some features it simply doesn't have.

5

It's fairly subjective to say how 'important' the decision is, but consider this:

You will be investing a huge amount of time inside the IDE/editor. Small slowdowns caused by IDE problems quickly become large slowdowns over time. Additionally, you should not feel like the IDE is ever working against you as that takes the fun out of programming.

If you ever have the choice, pick the best IDE/editor/compiler you can.


At school we work on old compilers (Money probably isn't the reason) because the theory "As long as you learn it's good" works.

New compilers contain bug fixes and possibly new language features. You're learning more outdated information than those who use new compilers.


Finally, if you pick an editor like Emacs/Vim then you can use it for any language that arises and with blindingly fast speed.

2

The question even goes beyond the IDE, sometimes the tools that plug-in to the IDE make all the difference. Using a tool like ReSharper with Visual Studio can not only speed up your programmer, it can help you refactor and even learn the language. For example, it notices code that can be turned into LINQ and then will do it for you. It can also enforce coding standards.

One of the things that makes Eclipse so useful is that it is so extensible, it supports multiple languages, and plug in for source code control, static checking tools and even bug tracking tools. The Mylyn plugin is an example of a very cool tool that can help you work more productively by yourself or with a team. Plus Eclipse runs on multiple platforms. The Eclipse CDT package is free so there's no excuse to use outdated compilers due to budgetary constraints.

Sometimes your IDE is picked for you based on what your target is, this is especially true in the embedded world.

1
  • 1
    +1 for mentioning refactoring and code hygiene tools - these are huge factors in choosing an IDE Dec 8, 2017 at 12:23
1

How important is it to pick the best IDE for your programming language?

In my personal opinion, it is very important. With a good code parser, it can greatly speed up programming. With auto-completion feature on, it means less typing and automatically it shows all possible methods (potentially learning something new).

With correctly setting the code formating, it makes simple to correctly indent the code, without worrying much about part of the coding standards.

1

From my experience, the best time/money saver is not the relevance of IDE to language but the relevance of IDE and language to YOU.

A C/vim master using vim to develop C is far more productive than a Java/Eclipse master using Emacs to develop Cobol.

That said, if you work in a team, it is worth considering using the same tools among the whole team. This makes cooperation easier when two people work on the same computer with an environment that both know well.

Moreover, some platforms ship with a dedicated IDE: Xcode on Mac for Objective-C/Cocoa development.

0

In my case if it's just about reading and writing and navigating through code, I don't need much. Give me a tabbed notepad with all the source/header files for each project in a sidebar treeview and put a build hotkey and I'm set. I can even do without syntax highlighting and often go without it when I'm writing C code for my engine in notepad to build and run while the engine is running. I might be weird and too old but I actually turn features like auto-completion off. I prefer ctrl-tabbing between the header that contains the interface I'm using and the source code I'm writing to see what members and functions I can use.

But debugging is another story. I am addicted to MSVC's debugger for C and C++. I can work with XCode and even command-line GDB and often do when debugging against other operating systems, but for me there's no comparison. I wish there was since I hate being so dependent on Windows-specific tools for debugging.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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