&#x27;The Unix way&#x27; would be an example of too little abstraction.<p>Sure it&#x27;s great to have lots of little single purpose applications that can be mixed&#x2F;matched in a variety of different ways.<p>But...<p>If everything in a system is built based on that premise, eventually the OS just becomes a lousy abstraction for a global namespace.<p>I think it&#x27;s important to strike a middle ground. Build tools that work well for solving a &#x27;class&#x27; of problems, then include public interfaces so they can be re-used for the higher level composition of systems.