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.

All labels observed (1)

Label Occurrences
Unix philosophy canonical 3

How this entity was disambiguated

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
The UNIX Programming Environment
associatedWithOrganization Bell Labs
associatedWithPerson Brian Kernighan
Dennis Ritchie
Doug McIlroy
Ken Thompson
contrastsWith large integrated IDE-centric workflows
monolithic software design
emergedInContextOf Unix operating system
linked to: Unix
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
cat
grep
sed
sort

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

The Unix Programming Environment subject Unix philosophy
Software Tools subject Unix philosophy