Software “Pipelines”: Another Bad Idea

by Dwayne Phillips

I don’t like the metaphor of the software “pipeline,” never have. Here is one explanation why.

I recently wrote of my distaste for the metaphor of the software stack. Now I express a similar distaste for the software pipeline.

Perhaps this goes back to the Unix pipe — shown with the “|” vertical bar. In Unix, and henceforth in all the xnix variations and Linux distributions, different operations were connected by the pipe. The output of one operation flowed into the input of the next. These were all file based in one way or another. The pipe did nothing but eliminate the names of the temporary files.

Pipes in the real world are transport mechanisms. They do no processing on there own. (The lone exception being the heat exchanger, and I cannot think of a software equivalent.)

Somehow and somewhere, we consider software pipelines as doing some processing from the trail of idea to running software. I fail to see this. But again, it is merely a figure of speech and we shouldn’t take it seriously.

If we are going to use some words, we might as well use useful words as they take just as much effort the first time and much less effort the rest of the time as we try to explain what we meant by using the wrong word.

Just a thought. You can only be mad at me for ten minutes.


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dwayne Phillips

Engineer, computing, consulting, writing, teaching, and a few other things in an effort to make us all better and smarter.