Skip to content
This Friday marks the 49th birthday of the ideas behind one of the most powerful characters in the command shell (both *nix and Windows): the pipe. For those who don't know, the pipe is this character: | It's Shift-Backslash on a US keyboard, and it is used to send the output of one process to the input of another.

 

The pipe, and its counterparts stdin and stdout, were essentially described in a memorandum written by Doug McIlroy on October 11, 1964. At the time, McIlroy was just beginning to lead the Computing Techniques Research Department at Bell Labs, where UNIX was born. The key sentence we're celebrating is this one:

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.

McIlroy's memo would be of great importance even if it could only be said to be the origin of pipes. However, given that the memo was written at such a nascent time in computing, it seems fair to say that what McIlroy described was much broader: a standard software interface, as well as the accompanying modularity.

 

These concepts are now so ingrained into our thinking as programmers that it might feel as if they were always there. Thankfully, in UNIX they always were. But we're taking time this week to be grateful for the spark of genius that conceived them. No doubt these ideas seem inevitable; but then again, that is a mark of great ideas: they always seem obvious in retrospect.

 

So this week, raise a (pipe-like) mug of beer, maybe with a slice of (pipe-like) pumpkin roll, and celebrate the genius of Doug McIlroy and the CTRD team at Bell Labs. October 11: It's | Day!

 

Categorized Under