Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

*nix pipes are part of POSIX and the OS/Shell implements them, if the app takes input and produces output it can be a component of a pipeline.

In short, the Curl developers couldn't remove pipes without crippling the app.



Everything you say is correct, and may even be a word to the wise, as it were -- but there are always new command line apps made by people who haven't been thoroughly exposed to the true Unix/Linux/Posix way, and need to have that kind of thing explained. [1] [2] [3]

Which is to say that your comments are not self-evident to everyone, by any means.

Example: less(1) was eventually fitted with the -R flag to allow highlighting to be passed by pipe, to make it friendly to piping from highlight-producing apps rather than its default highlight-unfriendly stripping of input controls/escapes.

Benign intentions with regard to files sometimes require a little more thought to be simultaneously friendly to pipes, except for the simplest of plain text apps.

(I'm not trying to make a big point, but I just rediscovered 'less -R' out of necessity today. So, I was pondering some of these issues)

Worth a re-read for everyone (and I worry that these things may be in the process of being forgotten):

[1] https://en.wikipedia.org/wiki/Unix_philosophy

[2] https://en.wikipedia.org/wiki/Unix_philosophy#Eric_Raymond's... and the book:

[3] https://en.wikipedia.org/wiki/The_Art_of_Unix_Programming

[4] Raymond didn't invent any of this, but he explained it very nicely, IMHO.

Edit: P.S. the above is somewhat meandering, and is sure to be criticized because simple equivalence of piped and file input is the most important thing, which I agree with -- but I was mixing that with a secondary point because of what I was doing today. Sorry. "I did not have time to make this letter shorter" etc.


Which is exactly why the prospect of removing pipelining was so surprising!




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: