emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: base


From: Miles Bader
Subject: Re: base
Date: Thu, 26 Aug 2010 12:27:04 +0900

Eli Zaretskii <address@hidden> writes:
> That wasn't the answer I was expecting.  I expected to see several
> possible workflows with some analysis of their merits and demerits.
> There's no need to know how a repository stores its info for that.

The "list some workflows" method quickly breaks down except for
extremely simple tools (which few tools are), because it would entail
enumerating a huge number of possible scenarios; not only is this hard
for the developer, but it's very hard for the user to remember and use
beyond a certain point.

A model does _not_ need to be the same as the actual implementation --
rather it's a highly efficient and usable way for the user to understand
the tool.

Since you said you had a degree in physics, think of it in those terms:
people do lots of experiments, but people don't teach physics as a rote
series of "if you do X, then Y happens" -- that would be madness.
Instead, they use experiments to develop a model of how things work,
which can be much more easily taught, and is much more useful once
learned.  Our model of physics (and of course there are multiple
co-existent models representing different levels of details) necessarily
"real" of course, but represents our best effort in encoding what we
observe in a way that allows us to make predictions about unobserved
behavior.

For software of course, often the user-model can be based on the
implementation (though almost always simplifying it), especially if the
implementation is relatively simple and consistent.

It sometimes takes a little extra effort for the user to learn a model
instead of a rote list of actions, but it pays back hugely in giving the
user power over his tool.

-Miles

-- 
Patience, n. A minor form of despair, disguised as a virtue.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]