People seem to have forgotten that when Perl evolved from being a better AWK to the paradigm example of the modern &quot;scripting language&quot;, Larry Wall explicitly described this as a rejection of the Unix small-tools philosophy. <a href="http:&#x2F;&#x2F;www.linux-mag.com&#x2F;id&#x2F;322&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.linux-mag.com&#x2F;id&#x2F;322&#x2F;</a> (&quot;But Perl was actually much more countercultural than you might think. It was intended to subvert the Unix philosophy. More specifically, it was intended to subvert that part of Unix philosophy that
said that every tool should do only one thing and do that one thing well.&quot;) <a href="http:&#x2F;&#x2F;www.wall.org&#x2F;~larry&#x2F;pm.html" rel="nofollow">http:&#x2F;&#x2F;www.wall.org&#x2F;~larry&#x2F;pm.html</a> The fact that getting things done with a Perlesque scripting language is now seen as the height of purist Unix propriety only shows how far gone the original Unix ideal now is. But moving to the scripting-glue model doesn&#x27;t really get rid of small tools that endeavour to do one thing well, it just reimplements them inside the scripting-language universe as functions&#x2F;objects, though with a more expressive and less burdensome common language that makes it easier for them to stay small while being correct and effective. The more expressive their shared language, the smaller a set of tools can be.<p>&gt; Text just isn&#x27;t a great medium for IPC.<p>Yes, in retrospect Unix&#x27;s determination to know about nothing but binary or plaintext blobs and streams looks like an adolescent rebellion against the (apparently - I haven&#x27;t used them) clunky record structures of &#x27;60s operating systems.