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.

Share the Post:
XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing

data dictionary

Tools You Need to Make a Data Dictionary

Data dictionaries are crucial for organizations of all sizes that deal with large amounts of data. they are centralized repositories of all the data in organizations, including metadata such as