Unix philosophy
E761745
Unix philosophy is a set of software design principles emphasizing simplicity, modularity, and the use of small, composable tools that do one thing well and work together through clear interfaces.
Statements (52)
| Predicate | Object |
|---|---|
| instanceOf |
engineering philosophy
ⓘ
software design philosophy ⓘ |
| articulatedBy | Doug McIlroy’s "do one thing well" formulation ⓘ |
| articulatedIn |
The Art of Unix Programming
NERFINISHED
ⓘ
The UNIX Programming Environment NERFINISHED ⓘ |
| associatedWithOrganization | Bell Labs NERFINISHED ⓘ |
| associatedWithPerson |
Brian Kernighan
NERFINISHED
ⓘ
Dennis Ritchie NERFINISHED ⓘ Doug McIlroy NERFINISHED ⓘ Ken Thompson NERFINISHED ⓘ |
| contrastsWith |
large integrated IDE-centric workflows
ⓘ
monolithic software design ⓘ |
| emergedInContextOf | Unix operating system NERFINISHED ⓘ |
| emphasizesInterface |
standard error
ⓘ
standard input ⓘ standard output ⓘ |
| encourages |
composing tools into workflows
ⓘ
use of pipes to connect programs ⓘ |
| hasCorePrinciple |
allow user-level scripting and automation
ⓘ
avoid unnecessary complexity ⓘ build prototypes early ⓘ clarity ⓘ composability ⓘ design for portability ⓘ design for robustness ⓘ do one thing well ⓘ expect the output of every program to become the input to another ⓘ favor command-line interfaces ⓘ favor transparency over magic ⓘ make each program a filter ⓘ modularity ⓘ optimize for programmer time ⓘ orthogonality of tools and features ⓘ provide sharp tools rather than integrated monoliths ⓘ separation of concerns ⓘ simplicity ⓘ text as a universal interface ⓘ use pipelines to connect programs ⓘ use plain text for data storage ⓘ use small tools ⓘ write programs to work together ⓘ |
| influenced |
DevOps practices
ⓘ
Linux culture ⓘ command-line tool design ⓘ microservices architecture ⓘ open-source software development ⓘ scripting languages usage ⓘ |
| typicalExampleTool |
awk
GENERATED
ⓘ
cat GENERATED ⓘ grep GENERATED ⓘ sed GENERATED ⓘ sort GENERATED ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.