this post was submitted on 22 Apr 2024
517 points (97.4% liked)

linuxmemes

20880 readers
5 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 7 months ago (4 children)

What's the Unix philosophy?

[–] [email protected] 44 points 7 months ago* (last edited 7 months ago) (2 children)

catb is full of great info, including the answer to the question.

http://www.catb.org/~esr/writings/taoup/html/ch01s06.html

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.

Edit: replaced with the succinct version.

[–] [email protected] 4 points 7 months ago

Ooohhh, I've been reading bits of catb.org since I was like 13!

[–] [email protected] 1 points 7 months ago

Using one specific source for the definition of the Unix Philosophy is against the Unix Philosophy. /s

[–] [email protected] 8 points 7 months ago* (last edited 7 months ago) (2 children)

Everything does 1 thing, programs work together

I think Linux just doing the kernel should count as Unix philosophy though

[–] gens 3 points 7 months ago (2 children)

Originally it was about code. Split it into reusable functions, and such.

SyStEMd fans don't understand, per usual.

[–] owsei 1 points 7 months ago (1 children)

Is it not about chaining processes?

IIRC the ideia was to use pipe (or other methods) to send one program's output to another's input

But it very well could be about reusable functions, as code or as a .so file

[–] gens 3 points 7 months ago

Hmm. I can't find ehere i got that from, other then it being more general. https://cscie26.dce.harvard.edu/lectures/lect02/6_Extras/ch01s06.html

Either way the whole point is to write programs/code that can interoperate and be composed. SysD programs comunicate over an "implementation is the specification" protocol, so they might as well be one blob instead of separate programs.

[–] [email protected] 1 points 7 months ago (1 children)
[–] gens 4 points 7 months ago

Reply was to you, but it's still a public forum with a topic.

[–] [email protected] 1 points 7 months ago

I see. I read the catb page and I think it's a good direction.

[–] [email protected] 6 points 7 months ago (1 children)

"Do one thing but do it good" and "everything is a file. Is there more?

[–] [email protected] 2 points 7 months ago

but do it well*

[–] [email protected] 0 points 7 months ago

Probably the opposite of what "GNU's Not Unix" does.