Codementor Events

Why you should use an IDE

Published Jun 06, 2018

Over the years, I've worked with and taught many people. When it comes to programming, one issue keeps coming up: which editor do you use?

Many, especially beginners, get caught up in this choice. They become obsessed over learning VIM, for example. While I do recommend learning VIM at some point, because in some environments it may be the only decent editor available, it is not something you should focus on as a beginner, as it will distract you from learning what's important, and will slow you down considerably.

Most programmers, except perhaps those working on really small scripts, should use an IDE, and this comes from someone who likes VIM. An IDE will help you save a lot of time, and help you focus on what matters.

IDEs will help remind you of function and method names, both of your own code and that of external packages. This can speed things up considerably, as you will very often sort of remember the name, but you may not be exactly sure. Then you'll have to look it up in the documentation or scroll through your code to find it. This may take anywhere from a couple of seconds to a couple of minutes, which is valuable time that does add up and puts you at a disadvantage.

IDEs will give hints on types, at least whenever possible (one reason to use type annotations in Python, by the way). In a small program, this is not very important, as you probably can remember or easily look up which type a certain variable has. However, in a large program, if you encounter:

def process_customer(customer):
    do_something_with_customer(customer)
    ...

How do you know what customer actually is? Is it a Customer object? The customer ID? If it's an ID, is this ID a string or an integer? If you've ever worked with large applications, you know how time-consuming and error-prone this process can be. An IDE will help you out immediately, and once again save a lot of time and prevent errors.

All of this is important even as a beginner. Remembering method names is not important. Getting caught in typing errors is distracting. What matters is that you can focus on how to structure programs, and actually write code. IDEs help you do just that. They can be a bit intimidating at first, but spending some time to get familiar with an IDE will pay off. You don't need to know every feature; just enough to get started.

Programming is a competitive field. Don't put yourself at a disadvantage by not using the best tools available. It's a bit like riding the Tour de France with a 20-year-old bike. Even if you're the best athlete in the world, your equipment will put you at a significant disadvantage.

Don't make your life more difficult than it already is. Software engineering is difficult. Even the best developers often struggle. Using an IDE helps to focus their attention on the actual problem at hand, structuring the program, not remembering function names or being caught in runtime or compile errors because their IDE didn't provide a type hint.

I've only glanced over some of the advantages of IDEs. There are many others: integration with version control and popular frameworks, style advice (PEP-8 compliance in Python, for example), easier deployment in many cases,... The advantages are endless. Use an IDE.

Discover and read more posts from Ben Baert
get started
post commentsBe the first to share your opinion
Show more replies