ds@hollin.prime.com (08/20/89)
There is nothing wrong with the UNIX philosophy of providing a minimal operating system framework that can then be extended by hundreds or thousands of "filter" programs. There is also nothing wrong with the EMACS philosophy of providing a minimal Lisp and editor framework that can then be similarly extended by Emacs-Lisp functions. A wrong philosophy is not likely to survive as well as UNIX and EMACS have done. Now this is not to say that the philosophy is sufficient! Note that UNIX has some rather severe problems. For example, almost all of its many filter programs assume that their input and output is a simple stream of text. The realities of interactive communication, protocol negotiation, and command status propagation are not always handled well. I've been frustrated for example by its minimal support for use across a network, as well as annoying limitations in its command language. The purpose of these systems and others is to support computer-aided human activities such as software development in a way that is conducive to user satisfaction, defined broadly to include qualities leading to high productivity, vendor interchangeability, etc. I don't believe there is one clear winner; we are in the middle of an exciting time of competition among lots of different approaches. This is so very clearly seen in the arena of graphics-oriented user interfaces... I like the EMACS approach for most of my computer-related activities, and the UNIX approach for some (I will admit that I frequently wish that EMACS and UNIX worked better together, and with window systems as well). I also like parts of the Smalltalk and FORTH paradigms. And I'm also developing my own (an environment that supports debugging and executing programs from within an editor, without losing execution state while editing). There is room for lots of philosophies! David Spector Prime Computer, Inc. ds@primerd.prime.com