Unix Pipe

dead-metaphor Fluid DynamicsData Processing

Categories: computer-science

What It Brings

Doug McIlroy’s 1964 Bell Labs memo made the metaphor explicit: “We should have some ways of coupling programs like garden hose — screw in another segment when it becomes necessary to massage data in another way.” The Unix pipe (|) implemented this vision in 1973. The metaphor borrows from plumbing: water flows through pipes in one direction, from source to drain, and you can connect pipe segments to route the flow through different fixtures.

Key structural parallels:

Where It Breaks

Expressions

Origin Story

Doug McIlroy had been thinking about program interconnection since at least 1964, when he wrote an internal Bell Labs memo proposing the garden hose model. Ken Thompson implemented pipes in Unix in 1973 — reportedly overnight, after McIlroy’s persistent lobbying. The | notation was Thompson’s choice, a visual pun on a vertical pipe segment. The feature transformed Unix from a collection of programs into a compositional system. McIlroy later recalled that pipes were “the most important invention in Unix” because they changed how people thought about programs: not as monolithic applications but as small, composable filters.

The 1974 Thompson and Ritchie CACM paper formalized the concept, and the pipe became Unix’s signature feature — the thing that distinguished Unix philosophy from everything else in operating system design.

References

Related Mappings