3 ms·
In this context... "specialized" = Do one thing "flexible" = and do it well. That said, the key ingredient of the Unix philosophy that is missing isn't speci
by ZenoArrow 11y ago
In this context...
"specialized" = Do one thing
"flexible" = and do it well.
That said, the key ingredient of the Unix philosophy that is missing isn't specialised, flexible tools, it's composability of those tools. Imagine if you couldn't pipe grep output to another program, wouldn't it be a lot less useful? I'd say so.
There are ways we can get around this, but they would require a fair amount of development time. To give you one example, consider how the JACK audio server allows programs to share audio streams. Similar data streaming arrangements could be made for other types of data.
- ybx 11y agoHow does flexible mean do it well? "Do it well" is so vague of a saying that it really could mean any of those things, whether it be flexibility, or simplicity, or etc.
- astine 11y agoMy understanding of the phrase 'do it well' isn't as an injunction but as a way of saying that if you restrict your program to one thing, you'll have the ability to do it very well. It's to contrast it to a program that does multiple things, not so well.
- ZenoArrow 11y agoAs I said, in this context, it means flexibility, but that flexibility must be tempered with composibility. Think about how programs become bloated. What helps the core Unix command line tools avoid this fate?
- adjwilli 11y agoWhat I understand flexible to mean is "serving 99% of use case scenarios". Arguably Photoshop does this, Instagram does not. Or maybe a better analogy is Photoshop vs Photoshop Elements, which probably only servers 80% of use case scenarios. Or Chrome OS (80% of desktop use case scenarios) vs Windows (99.9%).