Warner Losh writes:
I chose emacs because of muscle memory (Both the VAX and TOPS-20 machines
at school had emacs as the default editor) and also because it lets me
program better. I didn't let the fact it accomplished that by trying to be
an OS or LISP-M or whatever get in the way of using the best tool for the
job. In the 90s this meant that I had to be careful about the machines I
used it on. These days, it just doesn't matter. Mostly, though, it was
finger muscle memory :)
Warner
That's a great reason. I never did any bodybuilding with emacs so I have
different muscle memory.
There is another reason why I stayed away from emacs which is that I was
running projects at the time - I had graduated from being an individual
contributor. The multiple versions of emacs got in the way. We had too
many instances where one person would ask another person for help or to
review something, but people using different tools interfered with the
ability of people to walk over to another terminal and get stuff done.
Because of this, I made and enforced a rule that said that one could only
use shell aliases if they didn't redefine any existing commands. It was
important for people to be able to work together. Things were getting
so flexible that it was as if everybody had their own custom power outlets at
their desks preventing any other group member from coming over and plugging
something in.
Taking this in a different direction, one of the other rules that I enforced
was "don't redefine the programming language." This is in my mind right
now
as I try to navigate the linux kernel. Someone obviously didn't like C and
made a bunch of overly complicated constructs via macros to change it to
something else generating bad code in the process. It reminded me of the
first time that I ran across this, which was the Bourne shell in C redefined
as Algol. I recently asked Steve about why he did this and he did give me
an answer which he said I couldn't share until he refined it. He probably
forgot over the holidays but since I think he's on this list maybe he'll
weigh in.
One amusing thing that Steve told me which I think I can share is why the
symmetry of case-esac, if-fi was broken with with do-done; it was because
the od command existed so do-od wouldn't work!
Jon