“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.”

—  Doug McIlroy

Doug McIlroy (2003). The Art of Unix Programming: Basics of the Unix Philosophy http://www.catb.org/esr/writings/taoup/html/ch01s06.html

Adopted from Wikiquote. Last update June 3, 2021. History

Help us to complete the source, original and additional information

Do you have more details about the quote "This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write pr…" by Doug McIlroy?
Doug McIlroy photo
Doug McIlroy 6
American computer scientist, mathematician, engineer, and p… 1932

Related quotes

John Backus photo

“Much of my work has come from being lazy. I didn't like writing programs, and so, when I was working on the IBM 701 (an early computer), writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs.”

John Backus (1924–2007) American computer scientist

Quoted in the IBM employee magazine Think in 1979. Cited by his Associated Press obituary http://www.msnbc.msn.com/id/17704662/

Richard Stallman photo

“You see, some people have a talent for programming. At ten to thirteen years old, typically, they're fascinated, and if they use a program, they want to know: “How does it do this?” But when they ask the teacher, if it's proprietary, the teacher has to say: “I'm sorry, it's a secret, we can't find out.” Which means education is forbidden. A proprietary program is the enemy of the spirit of education. It's knowledge withheld, so it should not be tolerated in a school, even though there may be plenty of people in the school who don't care about programming, don't want to learn this. Still, because it's the enemy of the spirit of education, it shouldn't be there in the school.
But if the program is free, the teacher can explain what he knows, and then give out copies of the source code, saying: “Read it and you'll understand everything.” And those who are really fascinated, they will read it! And this gives them an opportunity to start to learn how to be good programmers.
To learn to be a good programmer, you'll need to recognize that certain ways of writing code, even if they make sense to you and they are correct, they're not good because other people will have trouble understanding them. Good code is clear code that others will have an easy time working on when they need to make further changes.
How do you learn to write good clear code? You do it by reading lots of code, and writing lots of code. Well, only free software offers the chance to read the code of large programs that we really use. And then you have to write lots of code, which means you have to write changes in large programs.
How do you learn to write good code for the large programs? You have to start small, which does not mean small program, oh no! The challenges of the code for large programs don't even begin to appear in small programs. So the way you start small at writing code for large programs is by writing small changes in large programs. And only free software gives you the chance to do that.”

Richard Stallman (1953) American software freedom activist, short story writer and computer programmer, founder of the GNU project

A Free Digital Society - What Makes Digital Inclusion Good or Bad? http://www.gnu.org/philosophy/free-digital-society.html#education; Lecture at Sciences Po in Paris (19 October 2011)]
2010s

Linus Torvalds photo

“Portability is for people who cannot write new programs.”

Linus Torvalds (1969) Finnish-American software engineer and hacker

Post to comp.os.minix newsgroup, 1992-01-29, Torvalds, Linus, 2006-08-28 http://groups.google.com/groups?selm=1992Jan29.231426.20469%40klaava.Helsinki.FI, According to Torvalds, this was "tongue in cheek" (Ibid.)
1990s, 1991-94

“So? If you don't like it, write your own [program].”

Paul DiLascia (1959–2008) American software developer

1995/10
About Code

Ward Cunningham photo
Rasmus Lerdorf photo

“I don't know how to stop it, there was never any intent to write a programming language […] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way.”

Rasmus Lerdorf (1968) Danish programmer and creator of PHP

Itconversations.com http://itc.conversationsnetwork.org/shows/detail58.html quoted in www.dasgenie.com http://www.dasgenie.com/scrap/archives/000060.html

Ward Cunningham photo
Joe Armstrong photo

“Many programs don’t have well-defined interface. They should have.”

Joe Armstrong (1950–2019) British computer scientist

The forgotten advantage of concurrent programming

Doug McIlroy photo

“Word and Excel and PowerPoint and other Microsoft programs have intimate — one might say promiscuous — knowledge of each others' internals. In Unix, one tries to design programs to operate not specifically with each other, but with programs as yet unthought of.”

Doug McIlroy (1932) American computer scientist, mathematician, engineer, and programmer

Doug McIlroy (2003). The Art of Unix Programming: The Elements of Operating-System Style http://www.catb.org/esr/writings/taoup/html/ch03s01.html

Bill Gates photo

“The worst programs are the ones where the programmers doing the original work don't lay a solid foundation, and then they're not involved in the program in the future.”

Bill Gates (1955) American business magnate and philanthropist

Source: Interview from Programmers at Work (1986)

Related topics