Software

Visual Studio or Vim: Is an IDE or text editor right for you?

Not sure whether to use an integrated development environment or text editor? Here's what you need to know.

We all want to be more productive, so it's no surprise there are so many tools aimed at making life simpler for developers.

An age-old debate among programmers is whether to use a plain text editor, such as Emacs, or a more fully-featured integrated development environment (IDE), such as Microsoft's Visual Studio.

There's no right answer, rather each option has pros and cons. If you're puzzled over which is the best approach for you, here's a broad overview of the arguments for and against, and where well-known developers stand.

SEE: IT Hiring Kit: Programmer (Tech Pro Research)

Text editors

Text editors like Vim and Emacs have been used to write code for decades.

Behind the stark simplicity of these editors lie powerful keyboard shortcuts, capable of minimizing typing and eliminating cumbersome switching between keyboard and mouse.

Pros

Powerful shortcuts - Customizable shortcuts allow developers to replace reams of typing with a few key presses.

Accessibility - Simple to log into Vim from another machine via SSH and to resume coding.

Simplicity means stability - Fewer features and a slower change of pace means less chance of unexpected behavior.

Good for switching between languages - Text editors typically function the same, regardless of the programming language being written.

Extensibility - Custom configurations, macros and extensions are available for most popular text editors.

Cons

Lacking features - Vanilla versions of text editors typically don't incorporate essential tools, lacking integration with debuggers and compilers, and missing nice-to-have features such as error checking. That said, many editors such as Emacs and Sublime Text can install extensions to add new features.

A higher barrier for newcomers than IDEs - Not true of all text editors, but at first glance, the no-frills interface and unfamiliar shortcuts offered by editors like Vim can intimidate first-time users. However, the counter-argument is that, by not holding the user's hand, text editors force those learning a language to figure out more for themselves, thereby providing a more solid foundation.

Famous advocates

Richard Stallman is a free-software activist and creator of the GNU OS that forms part of the basis of modern GNU/Linux distros.

He still codes using the GNU Emacs text editor he created in 1984, saying it meets all of his needs.

"I don't use an IDE. I edit with Emacs. I would not consider editing with anything else," he said.

Stallman highlights how text editors can be plugged into other developer tools, addressing the criticism that such editors lack much of the functionality of IDEs.

"Emacs has an interface to GDB [GNU Debugger] (and some other debuggers) which has more or less the effect of an IDE. GDB displays its interaction through Emacs, and it displays the source code of the debugged program via Emacs as well."

Stallman is not the only well-known developer to favor the simplicity of a text editor.

Ken Thompson, who co-created the Go programming language is on record as saying he used the Sam text editor, which he also co-created, and Linus Torvalds, developer of Linux kernel, has said he favors MicroEMACS.

Examples

Vim, Emacs, Sublime Text, Notepad++, Atom, Brackets. For more text editors, check out this TechRepublic round-up.

IDEs

Integrated Development Environments such as NetBeans and Microsoft's Visual Studio ease developers into programming. These software suites bundle together a text editor with many of the tools the developer needs to build and maintain a working program.

Pros

Integrated compiler and debugger - A big selling point is that IDEs include a compiler and debugger as standard, rather than requiring the installation of separate software/ extensions.

A breadth of features - The most popular IDEs also offer a wide range of productivity tools. These tools aid in error checking, refactoring code, code completion and performance analysis to name a few areas.

Support for libraries - IDEs are usually written with a particular language or development platform in mind and can easily drop relevant software libraries into your code.

Easier for newbies - Because IDEs typically offer so many features out-of-the-box there's less of a learning curve when setting them up and getting started.

Built-in emulators - Some IDEs, such as Android Studio, include built-in emulators for more easily testing code on different platforms.

Cons

Cumbersome - Because IDEs bundle so many features it's likely you'll stumble across some you don't want or that get in your way.

More demanding - Not so much a factor on modern computers, but IDEs typically require a more powerful computer to run than simple text editors.

Famous advocates

John Carmack, co-founder of id Software and CTO of Oculus VR, generally works within Microsoft's Visual Studio.

"Visual Studio on Windows is by far my preferred IDE, but I also use Android Studio a fair amount, and occasionally others," he said.

"Frankly, they are all quite good today, but VS still feels quickest for a lot of native debugging tasks - most other IDEs wrap and scrape command-line debuggers instead of actually implementing the functionality themselves."

Meanwhile, James Gosling, lead designer of the Java programming language, is also a fan of the Netbeans IDE.

Examples

Microsoft Visual Studio (C#, C, C++ and many others), NetBeans (Java, JavaScript, PHP and others), Eclipse (Java and many others), Code::Blocks (C, C++, Fortran), IDLE (Python), Android Studio.

Additional resources:

win10-utilitiesvscode.png

Microsoft's Visual Studio Code editor.

Simon Bisson/TechRepublic

About Nick Heath

Nick Heath is chief reporter for TechRepublic. He writes about the technology that IT decision makers need to know about, and the latest happenings in the European tech scene.

Editor's Picks

Free Newsletters, In your Inbox