On Mon, Sep 03, 2018 at 01:08:41PM -0700, Bakul Shah wrote:
One measure of success of a program is additional tools people build
to work with it.
This is true, but unix and plan 9 are special because they have
facilities that let many tools work together. Unix has pipes, plan 9
has the plumber on top of that, and so forth. I prefer tools that work
with these systems to create an environment that lets me use the whole
world to do my job.
Emacs pointlessly restricts itself to its own reinventions of the world
it inhabits. It makes sense if you are using a LispM but it
constitutes a rejection of the 'system' component of 'operating
system'
when you transplant it to an ecosystem built on a different paradigm.
The current modality of this antisocial behavior is the web; we've come
full circle, and now we have bespoke web browsers shoved into the
text-editing role, reinventing everything from character addressing to
memory management on the way, treating the underlying system as an
unfortunate accident of history instead of integrating with (or even
learning from) it.
Acme is a bad citizen in similar ways, but as I said, I suspect that's
because it was intended to supplant Rio rather than infect it.
When people talk about "the unix way," they usually hyperfocus on "do
one thing well" and leave composability by the wayside, and that's a
shame, because that's where the real power comes from. "Do one thing
well" is a method to achieve quality when you're building a piece of a
well-integrated system. If you're not building a well-integrated
system, you *can't* "do one thing well," because you've signed on to
do
everything, come hell or high water.
khm