Andrei Alexandrescu wrote:
On 05/19/2010 09:59 PM, Robert Jacques wrote:
Yes and No. I understand where your coming from, but I think it's a bad
idea. First, I think it needlessly expands the radius of comprehension
needed to understand and use the library. (See Tangled up in tools
http://www.pragprog.com/magazines/2010-04/tangled-up-in-tools)
For the record, I strongly agree with this.
I do too, but that's the easy part. Living up to those ideals is extremely hard,
usually because most designers think they have designed simple interfaces when
everyone else thinks they didn't.
In this whole container discussion, I'd like to point out something Andrei
pointed out to me. The one extremely successful example of pluggable components
is the unix filter model. Essentially, one program pipes its output to the next,
which pipes its output to the next, etc. The unix console is designed around
that paradigm.
If we can get anywhere close to that level of success with ranges and
containers, we should all be well pleased.