Exploring the Modern Software Development Environment

Exploring the Modern Software Development Environment

One of the never ending flame wars involves the use of programmer editors vs. integrated development environments (IDEs). Most developers have a proclivity for one over the other. A small percentage use both. Let’s examine the terrain first.

On the text editors side, we have the long time competitors VI (or VIM) and Emacs, which are used pretty much exclusively in *nix environment (although there are Windows ports, of course). Then, there are recent and modern cross-platform editors such as Sublime Text and Atom.

On the IDE side the offerings used to be language specific, but recently most of the big players support multiple languages ??? often via plugins. Visual Studio is often considered the Holy Grail, but the various offerings from JetBrains are right up there. There is also Eclipse and NetBeans ???and many more.

One group I’ll ignore here is simple text editors like Notepad or Nano. No doubt some people use them for serious programming and can be very successful, but those are few and far between. Editing files is just a small part of the whole development lifecycle.

Modern software development of enterprise scale systems involves managing multiple projects (often tens or hundreds) using multiple programming languages and tech stacks, with source control, testing and deployment, interaction with other teams, integration with third-party services, lots of open source and communicating with multiple people and other teams.

Activities such as browsing, searching the source code and refactoring require structured support. Integrated debugging, including remote debugging is a big concern.

In the end, your development environment must support your development process. The difference between the customizable programmer editors crowd and the IDE crowd boils down to the integration question. Do you want to glue together various command-line tools, install and upgrade independent plugins and script your way to total control? Or do you prefer to let someone else do most of the work in the form of an IDE that still allows you to customize and script it if needed.

I am firmly on the IDE side. I’ve used Visual Studio for a long time and sometimes I’ve used Eclipse and NetBeans but these days, PyCharm is where I spend most of my time. I almost never install any plugins (a notable exception was ReSharper) and I use VIM often when I need to edit files on remote systems. I get many productivity benefits from the IDE (in particular interactive debugging), but it does limit my ability to adopt new languages for serious development projects until they get adequate IDE support.


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist