>>93242980The "Unix philosophy" is a myth that was invented and rationalized post-hoc by people who didn't even have anything to do with the development of the original Unix system. Remember: all Unix-derived systems which ever gained any semblance of relevance used a monolithic kernel, yet this fact is seldom pointed out when talking about the "Unix philosophy".
Hence, let's restrict the topic of discussion to a more well-defined subset. There is certainly value in developing small, self-contained and general purpose tools: they solve common, well-known problems and can be utilized from a wide variety of environments. The choice of text as the primary interface for these tools is appropriate because it's the lowest common denominator: agreeing on some structured data format would reduce the generality of the basic Unix tools, which were always developed without such an assumption.
Remember: one of the main reasons that contributed to the success of Unix was that it was, since the very early days, a portable systems: unlike Multics or Smalltallk-based environments, it did not require particular dedicated hardware and hence could easily be ported to different platforms. The need to avoid making assumptions on the underlying infrastructure naturally carried over to userspace software.
However, there is a lot more to computing than individual, self-contained programs. After a certain point, you need integration and a vertically integrated design. The glue can become more important than the components being glued. Some problems are inherently hard and often cannot be easily formulated as a combination of existing solutions to simpler problems, hence requiring an implementation from scratch.
The "Unix philosophy", whatever that means, is not inherently wrong, the belief that it is the only possible way to develop software certainly is.