Clem Cole writes:
Answering, but CCing COFF if folks want to continue. This is less about
UNIX and more about how we all got to where we are.
On Wed, Jan 8, 2020 at 11:24 PM Jon Steinhart <jon(a)fourwinds.com> wrote:
Clem, this seems like an unusual position for you
to take. vim is
backwards
compatible with vi (and also ed), so it added to an existing ecosystem.
No, really unusually when you think about it. vim is backward compatible
except when it's not (as Bakul points out) - which is my complaint. It's
*almost* compatible and those small differences are really annoying when
you expect one thing and get something else (*i.e.* the least astonishment
principle).
...
OK, ok, the point that it's not 100% compatible wins the day. Couple more
points and then it's time to move on.
While I spend a lot of time railing against bad programming, the fact that
vim is huge doesn't bother me too much because my machine has more memory
that the machine on which I started using vi had disk. And just because it
still blows my mind, my machine (on just one of the drives) has more disk
than was available in the world when I started using vi. Good chance that
my CPU has more cache memory than the PDP-11/70 on which I started using vi
had main memory. So the size doesn't matter too much for me.
One of the reasons that I chose vi over emacs was architectural. At a certain
level, vi was a text editor and emacs was an operating system, and since I was
running UNIX and was a UNIX philosophy person I just didn't want to be running
an operating system on top of an operating system just to do text editing.
It's for that reason that I hate the addition of multiple windows to vi. I
already have a windowing system on my machine, and that's what I use for windows.
To me, the correct thing to do is to open a new desktop window to edit a new file
and start a new instance of vi, not to use vi to open another internal window.
I guess that what I'm saying is that I think that rather than following the
UNIX philosophy of having distinct tools and composing, much modern software tries
to do too much stuff that's not unique to its domain. A strained analogy would be
if every "little language" felt that it had to re-implement a big language too.
Jon