Stephen J. Turnbull writes:
I'm not talking about functionality (but since you mention it:
for my
taste, recent VM has added too much functionality, at least as
default).
That is good to know. We get demands from users for new functionality, but
never complaints about excess functionality. So, if you can give me some
samples of what you would consider excessive in the recent VM, that would be
helpful.
I'm talking about the internal structure. No matter how
much functionality you load into a program, you can't make it easier
to maintain and modify. That requires refactoring.
I think there is a more subtle point I am making. There is a distinction I
can make along various dimensions, such as:
internal vs external
textual vs behavioral
syntactic vs semantic
static vs dynamic
representation vs computation
Traditional software engineering seems too focused on the first column in
these dichotomies (what I called "skin-deep" in my earler message), whereas
I think what matters more is the second column.
You can see the syntactic structure as soon as you look at a piece of code.
To understand its semantic structure, you need to understand its behavior
and see what happens when you tweak it. Pretty looking pieces of code can
fall apart at the simplest of tweaks. Having good syntactic structure
doesn't mean that the code is logically coherent. VM, on the other hand,
has logical coherence that continues to stand up when we tweak it. In the
long run, that is what makes the code easy to maintain and modify. (Of
course, nobody would complain if it had good syntactic structure too. But
that is not the key criterion, as I see things now.)
Cheers,
Uday
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta