On Sun, Sep 11, 2011 at 2:37 PM, Gilles Sadowski <
gil...@harfang.homelinux.org> wrote:

> Discussions on this list are sufficiently tense that we probably don't need
> to have a flame war on OO. :-}
>

And I would hate to start that given that I think the discussions go too
long in any case.


> As for not being focused on the end user, I don't think that it is true.
>

Well, the recent discussion of exceptions for Cholesky decomposition was a
great example.  The suggestion was to throw an exception that basically said
"one number that you have no idea of is less than another idea that is an
obscure combination of stuff you input".  The argument was that this was
"more precise".  The user centered exception is "you input was not positive
definite".

Another example comes from the random distributions.  The current design
separates generating values from evaluating CDF's even though users think of
those as operations on the same object.  Moreover, there is an intricate
lattice of (unique) implementations and interfaces that the user has to
figure out when all they want is a distribution.  This isn't user centered
design.   And it doesn't facilitate improvement or back compatibility.

Sometimes, it's so focused towards user applications that any other
> consideration is overriden.
>

I can't remember such a case.


>  One of the dangers of only focusing on end-users is adding features
> without
> rhyme or reason; that will ultimately leads to unnecessarily complex and
> consequently unmaintainable code, resulting in the death of the project,
> with the consequence that the beloved user will be left with nothing.
>

That isn't user centered.  User centered means implementing what the user
actually needs and will use.  Need and use of a function means that it has
at least some reason.  Rhyme comes from the design elements which cannot be
forgotten.

Adding frills and filips is the opposite of user centered design.

Reply via email to