== Quote from Timon Gehr (timon.g...@gmx.ch)'s article
> Usually you want RAII. So that should be the simpler thing to have, not
> the other way round.

Yeah, this sums up the meta-disagreement quite nicely.  I and apparently you 
think
that it's generally better to make what the user probably wants in the most 
common
cases the easiest thing to get.  This is also generally the D, Python and Perl 
way
of doing things (though I do think Perl takes it a bit too far).  Martin and
Christophe are of the opinion that whatever has the least overhead, is simplest 
to
describe and implement, has the least implicit behavior, etc. should be the
default and let the user compose to get what he/she really wants.  This is the
Unix/C and to a lesser extent the C++ way.

While composability is often a good thing, too much of it at the expense of 
making
the common cases "just work" isn't, IMHO.  If the user has to learn to compose
zillions of tiny objects just to handle the most common case properly, this is a
violation of the "make simple things simple" maxim.  Java's file I/O API comes 
to
mind here.  Furthermore, if the project is open-source, someone with very
specialized needs can always just fork it and hack the source code to customize
it.  This is another argument for "just working" in the common cases at the
expense of being infinitely composable and flexible.

Reply via email to