I haven't used any exotic OSes (like the Lisp Machines?), but I believe that Unix's "do one thing and do it well" philosophy was never serious, just an (ignored) guideline to programmers. Ignored partly because Unix isn't that conducive to it.
The Unix Way is to operate on lines of text with tools like sed/awk. These lines of text are poorly-serialized object representations.
Programs are big monolithic procedures (which take a lot of optional params as input — switches), which you're supposed to glue together under extremely weak programming environments (like bash).
I abuse Unix to get out of this paradigm as much as appropriate. There is a good idea hidden inside communicating with serialized objects (which I'm sure Erlang users understand better than I do), but it's a very primitive version.
(Maybe I'm wrong and someone will finally enlighten me.)
The Unix Way is to operate on lines of text with tools like sed/awk. These lines of text are poorly-serialized object representations.
Programs are big monolithic procedures (which take a lot of optional params as input — switches), which you're supposed to glue together under extremely weak programming environments (like bash).
I abuse Unix to get out of this paradigm as much as appropriate. There is a good idea hidden inside communicating with serialized objects (which I'm sure Erlang users understand better than I do), but it's a very primitive version.
(Maybe I'm wrong and someone will finally enlighten me.)