philosophy on developing software
Unix philosophy - Wikipedia
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development. It is based on the experience of leading developers of the … Wikipedia
🌐
Wikipedia
en.wikipedia.org › wiki › Unix_philosophy
Unix philosophy - Wikipedia
December 29, 2025 - This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.
🌐
Harvard
cscie2x.dce.harvard.edu › hw › ch01s06.html
Basics of the Unix Philosophy
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.
Discussions

The Unix philosophy is often recited as "do one thing, and do it well". This does one thing, but doesn't do it well at all.
My new calendar system is putting all the days on a big piece of paper and tacking it to my wall. That way it's Future Proof Paper's not going anywhere Versionable. I just get a new piece of paper when I need a new version Unix Philosophy I don't really know what this means but it sounds cool Sortable When I need to sort it I just cut out all the days and sort them Mobile friendly It's a piece of paper I can bring anywhere What week is that? You just look at the week to see what week it is. Future is yours For tomorrow I look at tomorrow, for next year I look at next year, for five years I just have a lot of these lying around More on reddit.com
🌐 r/programmingcirclejerk
24
133
February 28, 2025
"Do one thing and do it well"
The phrase is a guideline. A reasonable guideline but that is all. Life is too complex to pigeon-hole computer management and design. More on reddit.com
🌐 r/linux
18
0
February 10, 2022
unix philosophy - why its important for a software to do one thing and do it well - Unix & Linux Stack Exchange
actuality what make a software bad if he do most of the things in a system and that software do all its jobs well why UNIX philosophy prefer to set as stander for its programs should "do one ... More on unix.stackexchange.com
🌐 unix.stackexchange.com
April 23, 2024
How does the Unix Philosophy matter in modern times?
It looks like you've majorly misunderstood what "do one thing well" means. Multi-tasking is a totally different concept in computation. In fact Unix machines were some of the first to do process scheduling and therefore "multi-tasking". For example, this shows all lines from this file, but only unique ones and sorted: cat file1 | uniq | sort I'm confident that "sort" does one thing and does it well. I'm not worried that I've mistakenly used a slow or broken "sort" utility. Each of these three programs do its thing well. I could also launch many threads or processes to run that command multiple times at the same time. That's a different concept. More on reddit.com
🌐 r/linux
89
39
April 4, 2021
🌐
Reddit
reddit.com › r/linux › how does the unix philosophy matter in modern times?
r/linux on Reddit: How does the Unix Philosophy matter in modern times?
April 4, 2021 -

The Unix philosophy states that a program 'should do one thing and do it well'. This may have worked in the 1970s and 1980s, but in the modern era, where even the hardware does multiple jobs at a time, how does this matter? People want multi-tasking in their machines, and according to them it increases the efficiency. Why shouldn't software be able to multiple tasks?

Wouldn't it be better that a piece of software can do many operations, rather than one, while doing them all well?

Or, am I getting the whole idea of the Unix philosophy wrong?

🌐
O'Reilly
oreilly.com › library › view › the-art-of › 9781098141349 › c07.xhtml
Chapter 7: Do One Thing Well and Other Unix Principles - The Art of Clean Code [Book]
August 2, 2022 - The Rise of UnixPhilosophy Overview15 Useful Unix Principles 1. Make Each Function Do One Thing Well2. Simple Is Better Than Complex3. Small Is Beautiful4. Build a Prototype as Soon as Possible5.
Author   Christian Mayer
Published   2022
Pages   176
🌐
Hackaday
hackaday.com › 2018 › 09 › 10 › doing-one-thing-well-the-unix-philosophy
Doing One Thing, Well: The UNIX Philosophy | Hackaday
September 10, 2018 - The software was built around a few guiding principles that were easy to understand and implement. First, specific pieces of software should be built to do one thing and do that one thing well.
🌐
Medium
medium.com › ingeniouslysimple › philosophy-of-unix-development-aa0104322491
Philosophy of UNIX Development. Unix is a fascinating operating system… | by Jeff Foster | Ingeniously Simple | Medium
July 31, 2019 - Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer.
🌐
Klara Systems
klarasystems.com › home › unix philosophy: a quick look at the ideas that made unix
Unix Philosophy: A Quick Look at the Ideas that Made Unix - Klara Systems
February 19, 2025 - Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface. There are several other versions of the Unix Philosophy, written by the founding ...
Find elsewhere
🌐
Hacker News
news.ycombinator.com › item
The Unix philosophy is popularly simplified to "do one thing and do it well", su... | Hacker News
May 25, 2017 - Which is a lot more akin to what's now called microservices. Unix philosophy has always been about software modularity and do we really need to use 'microservices' these days to describe such an approach? The meaning is not clearly defined anyway, what one company describes as a microservice ...
🌐
Miikanissi
miikanissi.com › blog › understanding-unix-philosophy
Understanding the Unix Philosophy
February 11, 2023 - ________________________________________ / This is the Unix philosophy: Write \ | programs that do one thing and do it | | well. Write programs to work together. | | Write programs to handle text streams, | | because that is a universal interface.
🌐
John D. Cook
johndcook.com › blog › 2010 › 06 › 30 › where-the-unix-philosophy-breaks-down
Where the Unix philosophy breaks down
September 30, 2022 - This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.
🌐
Design Principles
principles.design › examples › unix-philosophy
UNIX philosophy | Design Principles
Doug McIlroy's foundational philosophy for Unix system design, emphasizing simplicity, modularity, and composability in creating powerful, elegant software tools. Make each program do one thing well.
🌐
Tedinski
tedinski.com › 2018 › 05 › 08 › case-study-unix-philosophy.html
Deconstructing the "Unix philosophy"
May 8, 2018 - Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”. Expect the output of every program to become the input to another, as yet unknown, program.
🌐
Lack of Imagination
lackofimagination.org › 2024 › 01 › on-unix-philosophy
On Unix Philosophy - Lack of Imagination
January 14, 2024 - The power of shell scripts is a direct manifestation of the Unix Philosophy, as succinctly summarized by Doug McIlroy, the inventor of Unix pipes: Write programs that do one thing and do it well.
🌐
TechCrunch
techcrunch.com › home › do one thing, and do it well: 40 years of unix
Do one thing, and do it well: 40 years of UNIX | TechCrunch
August 21, 2009 - “Unix was created to solve a ... which ran on the dinosaurs of the computer age.” The UNIX philosophy is “Do one thing, and do it well.” Rather than have one monolithic kernel with lots and lots of functionality built ...
🌐
Medium
medium.com › @alanj › do-one-thing-and-do-it-well-a-unix-philosophy-8f56ed4c29ae
Do One Thing and Do It Well — A Unix Philosophy | by AL | Medium
January 24, 2019 - For example, don’t take away common keyboard shortcuts (looking at you, Evernote), or be sure to have a visual distinction between a link to another page on your site, and a link to download a file. Here’s the Wikipedia article. Take a look through it and see if you can draw some of your own parallels. It may force you to think about the heuristics that you employ in your designs in a different light. A light that’s been guiding Unix, a widely used operating system for decades. One thing that I want to point out is that I’m not talking about the interface of Unix, as the UX whiz himself, Don Norman, points out that the UI and other general heuristics could definitely use some love.
🌐
Reddit
reddit.com › r/linux › "do one thing and do it well"
r/linux on Reddit: "Do one thing and do it well"
February 10, 2022 -

A couple of thoughts about that principle, assumed to be one of the Unix philosophy pillars.

1- Integration, middleware, infrastructure - that's also "one thing" that needs to be "done well". It's not enough to put together things that do their stuff well separately. The infrastructure that puts them together also is a "thing" that must "do well" the integration task, in a consistent, configurable, usable and reliable manner.

Shell scripts are not always the best answer to middleware or infrastructure software.

2- Dependency hell and self-contained software. I am as much as anyone for component reuse and modularity, but there is always a compromise between 'reuse' and 'rewrite/repack'. There are cases in which the reuse of an external component introduces problems (dependencies, integration issues, security risks) that can't be acceptable for the case.

Now I know most could be thinking now "this is just another piece of cover systemd propaganda", but not really. I am not a fan of systemd.

I just wanted to share a couple of thoughts that, though pretty basic in software engineering and obviously not originally mine, tend to be missed in many Linux/*BSD/open source discussions.

🌐
Stack Exchange
unix.stackexchange.com › questions › 775053 › why-its-important-for-a-software-to-do-one-thing-and-do-it-well
unix philosophy - why its important for a software to do one thing and do it well - Unix & Linux Stack Exchange
April 23, 2024 - But for some reason, systemd gets commonly bashed for not adhering to the philosophy even though it does the "thing" of managing startup and daemons rather much more "well" than the piles of scripts that were before. ... The idea behind this was to have simple. modular software that is flexible and reliable. It allows the user to put multiple programs together to perform more complex tasks. Having a big monolith of a program - one thing that does everything, would be quite complex, buggy etc - there are criticisms that some software (e.g systemd and others) actually deviate from this and is too complex and monolithic.