DMD 0.170 release
Oskar Linde
oskar.lindeREM at OVEgmail.com
Wed Oct 18 02:06:34 PDT 2006
Walter Bright wrote:
> John Reimer wrote:
>> Ah, ok. I stand corrected on that aspect of my critique.
>
> I'll give some more lame justifications:
>
> There's been some talk about Boost recently in the n.g. (here and in
> comp.lang.c++) about if what Boost does is really worth it, or if it's
> just a lot of show-how-clever-I-am falderol. The general idea among the
> Boost people is that if there's any way possible it could be done in a
> library, rather than the core, then that's the way it should be done.
>
> I don't agree with that idea. I think Boost stretches C++ past the
> breaking point, and rather than showing how powerful C++ is, shows
> instead that the C++ core lacks power. Some of the shortcoming
> workarounds in Boost are just incredible, in the dogged persistence of
> their inventors to somehow make them work. Even so, the Boost results
> still wind up with serious holes in them.
I fully agree.
> If some crucial features are added to the core language, then much of
> Boost either becomes irrelevant, or at least becomes far simpler and
> straightforward to implement.
Exactly. Making improvements to the language that generalizes common
idioms, tremendously shrinks library code or gives additional expressive
power is good. But foreach_reverse does not generalize anything or give
any additional expressive power. With the boost analogy, it would just
replace one single algorithm with a built in equivalent, not reduce the
amount of scaffolding all the rest of boost needs.
One example of a generalizing addition is Tomasz' suggestion for
trailing delegates. It generalizes foreach, foreach_reverse and even the
while-loop. Such an addition would not only make libraries simpler and
more powerful. It could also simplify the core language.
What is design if not the pursuit of simplicity?
/Oskar
More information about the Digitalmars-d-announce
mailing list