Why I Hate The Term “Modern”

Author: Jake Bauer | Published: 2020-07-16

I strongly despise the word “modern” because of its use as a term to demean and refuse to consider something just because it wasn’t created in the last handful of years and even to market something as being good because it’s new. The word modern has somehow become associated with “something better” even though, in the context of computing, that is rarely true.

According to Merriam-Webster, the word “modern” is defined as:

1 a : of, relating to, or characteristic of the present or the immediate past :
    // the modern American family
 b : of, relating to, or characteristic of a period extending from a relevant
    remote past to the present time
    // modern history

2 : involving recent techniques, methods, or ideas : up-to-date
    // modern methods of communication

3 capitalized : of, relating to, or having the characteristics of the present or
    most recent period of development of a language
    //Modern English

4 : of or relating to modernism : modernist
    // Modern art has abandoned the representation of recognizable objects.

Really what I’m focusing on here is the second definition and its misuse as a term to justify derision toward programming practices, languages, and software solely based on the age or appearance of said practice, language or piece of software.

For example, I have encountered situations where others would look at the tools that I am using, such as Neovim (which has its roots in the 1976 editor vi), or command-line email clients such as NeoMutt (which has its roots in the 1995 mail client Mutt) or aerc (which had its first release a little over a year ago) and say things like “Why not use a modern editor like VS Code?” or “Why not use a modern web interface for your email?”.

Naturally I’m happy to answer those questions, especially when asked by people who are genuinely curious and not deriding, but I have so often seen tools, practices, and software rejected for not being “modern” (whatever that actually means), that my guard instantly goes up and I assume I’m about to be chastised for using something uncommon.

For a more specific, generally relatable example, there’s the Git email workflow. I have seen the argument made that using Git via email is not “modern” and the GitHub way to contribute to projects is the “modern” way of doing things as a way to put down this type of workflow. Just because something is recent, newer, or shinier does not make it automatically better. In fact, in this particular case I’d argue that the Git email workflow is far superior to the pull request workflow for a multitude of reasons, as I have so often said in the past.

To stop myself from rambling on (many paragraphs have been deleted and re-written), I will end by saying that it’s not some ethereal notion of newness that makes something good but the actual merits of a technique or piece of software that makes it good. Just because something doesn’t look pretty or follow a common way of doing things perpetuated or created by Silicon Valley companies doesn’t make it automatically bad. “Modern” does not necessarily imply “good”.

Text editors like Vim and Emacs, email clients like NeoMutt, Alpine, mu4e, or aerc, development practices like the Git email workflow, and even web browsers such as Lynx and w3m allow people to get work done in a way that is efficient for them. Don’t shun something based on first looks or some mistaken notion of what constitutes modernity; evaluate things based upon their merit at least after considering them or giving them a try.

This is my seventy-third post for the #100DaysToOffload challenge. You can learn more about this challenge over at