henry (05/18/82)
It's worth pointing out that extensible editors like Emacs really do have disadvantages (gasp!) as well as advantages. As Steve Zimmerman pointed out, extensibility is often used as an excuse to neglect basic necessities, some of which turn out to be hard to do as extensions. But there's more. An extensibility problem which has become visible locally (in a much less malleable editor than Emacs) is that customization has potential to produce vast confusion in naive users, especially those who routinely use more than one login id. It's long been accepted that hidden internal state ("modes") is a bad thing in an editor, and extensible editors have hidden internal state with a vengeance! Nor does the problem vanish if one uses only a single login id, because the behavior of an extensible editor cannot (by definition) be fully described by printed documentation, unless said documentation discusses the details of extension (OK for hacks, not so hot for secretaries). Customization also makes life difficult when analyzing somebody else's problems or prescribing solutions to same. I don't intend blanket condemnation of extensible editors, but uncritical worship of the concept is not necessarily justified. Extensibility is great stuff if you have the intelligence, background, and motivation to understand it thoroughly, and can be a curse otherwise. In an environment with lots of naive users and few sophisticated ones, standardization of editor behavior is a practical necessity.