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.

Try in SPARQL Jump to: Statements Referenced by

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.

The Unix Programming Environment subject Unix philosophy