4 ms·
As someone who spends almost all day either in vim/commandline mode or web browsing, I want to make the point about the unix pipe point, and that with gui's thi
by Newky 15y ago
As someone who spends almost all day either in vim/commandline mode or web browsing, I want to make the point about the unix pipe point, and that with gui's this is impossible.
Its not even the fact that it would require a lot more effort to sort and format a list of 100,000 names into our predefined pattern, but more the fact that the power of the command line is lost.
I find as I'm programming, I gravitate towards languages which can give me good access to this piping system, and give me access to stdin as a stream. Often in languages such as Java, pushing it information into a file and reading from the file is the easier solution and although this may be the more long term solution, for shell scripts etc its hard to beat the likes of perl's "while(<>)", not to mention the fact that awk works like this by default.
Also in terms of bringing this piping paradigm to the GUI world, I think the closest thing I've seen is Intents, both on the android side and the new Web Intents that both Google and Mozilla are working together on. Technically this seems like a more hefty version of pipes to me.
- satori99 15y agoIntents do go a long way to providing composability for Android. I didn't fully grok them when i started created Android applications. More or less simply used them as the way to go the next activity, but they so much more powerful than that :P
- stuartmemo 15y agoIs Automator on the Mac not sort of a GUI version of pipe? "The output of the last action can become the input to the next." - http://en.wikipedia.org/wiki/Automator_(software) http://en.wikipedia.org/wiki/Automator_(software)
- thesz 15y ago>I want to make the point about the unix pipe point, and that with gui's this is impossible. There is a GUI programming paradigm, called Stream Processors. One of earlier Haskell GUI libraries was developed over those processors. Take a look at Fudgets: http://www.altocumulus.org/Fudgets/ http://www.altocumulus.org/Fudgets/ You can pipe them, you can arrange them into DAGs and trees (as in DirectShow or Gstreamer). You can create cyclic structures. I haven't seen Intents. But I think that Stream Processors are closer to (and even surpass) command line pipelining.
- Newky 15y agoSorry, my wording was incorrect. I should not have used the word impossible, thank you for the resources you have provided, my point was more that with the standard gui, it makes things easier in a pick up and play way but any sustained time using an application, the tradeoff between being what people describe as "easy to use" and being extensible and streamable becomes very useful.