Skip to content
Tech News
← Back to articles

Unix philosophy is dead Long live something else?

read original get Unix Philosophy T-Shirt → more articles
Why This Matters

This article questions the relevance of the traditional Unix philosophy in today's complex computing landscape, highlighting its inconsistent interpretations and the unrealistic expectation of simplicity in modern systems. It underscores the need to rethink foundational principles to better suit current technological and societal realities, impacting both industry practices and user expectations.

Key Takeaways

Unix philosophy is dead! Long live... something else?

The more I learn about the systems I depend on every day, the more I'm convinced that everything in compsci is a dumpster fire that we collectively refuse to extinguish. It's a social problem - and, of course, everyone is trying to solve it with tech.

Haruhi says... "dmi went into a bit of a different direction than usual with this one! she asked me to issue a Content Warning for Capitalism and The Current State Of The World. Heavy language and philosophical topics ahead."

Myth of the UNIX philosophy

Personally, I don't believe in simplicity. Not KISS, not suckless (eww!), not even the UNIX philosophy. Growing up, I used to swear by the last one, ignoring the parts that no longer fit, and trying to make the most of it - but that's adding nuance to a philosophy that hates nuance at its very core.

Wikipedia lists 7 different sets of rules that can be named "The UNIX philosophy", all of which compiled by different people, across 30+ years of UNIX history. I can't summarize them any better than Wikipedians already did, so I'd recommend skimming over that article before continuing with my post.

I genuinely like some of the points that get brought up. The platonic-ideal UNIX environment appeals to me as someone who loves shell scripting - I spent so much time in the shell that pipes and redirects feel like a much cleaner, prettier solution than virtually anything else. But even within my environment, there are no tools that fully adhere to any version of the "UNIX Philosophy" - whatever that is, really. See, beyond Wikipedia, if you ask ten hackers what the UNIX philosophy really is, you will get 12 different responses. And, as soon as they state them out loud, those versions too become the truth and canon. Adherence is recommended, but if something doesn't fit, you can just alter the ruleset.

Pedantry Corner

"But coreutils fully adhere to the UNIX philosphy!

They only do one thing, and they do it well!" Reality check: how many command line switches does cat take? I'm running busybox , and that one has six, plus --help : $ cat --help BusyBox v1.37.0 (2026-01-10 15:38:28 UTC) multi-call binary. Usage: cat [-nbvteA] [FILE]... Print FILEs to stdout -n Number output lines -b Number nonempty lines -v Show nonprinting characters as ^x or M-x -t ...and tabs as ^I -e ...and end lines with $ -A Same as -vte I see some of you running towards me, screaming:Reality check: how many command line switches doestake? I'm running, and that one has, plus For a tool that's most often used just to read out a file, that's a lot. Hell, most of them can be trivially recreated with tr or sed. As for the latter part, "do it well"... I can list you a non-trivial amount of bugs and papercuts in sed and grep out of the top of my head. I beg to differ.

... continue reading