Rant after trying Rust a bit
deadalnix via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jul 23 16:20:36 PDT 2015
On Thursday, 23 July 2015 at 14:08:23 UTC, Andrei Alexandrescu
wrote:
> Thanks for the link, good quick read to get the overview of
> Rust's traits feature. It's ingenious because it integrates
> static and dynamic dispatch.
>
> For dynamic dispatch, traits are better than interfaces - more
> flexible, better informed. For static dispatch, they don't hold
> a candle to D's constraints. This is important because dynamic
> dispatch is more of a cut-and-dried matter, whereas static
> dispatch is where it's at.
>
On that note, I've mentioned scala's trait, which are kind of
similar and worth looking at. The thing being based on java's
object model, as D's object model, it is easier to think about
how this could get into D.
> For static dispatch I think D's template constraints are quite
> a lot better; they have a lot more power and offer a lot more
> to promise. They are an out-of-the-box solution that's a bit
> unwieldy because it's new enough to not yet have established
> idioms. In contrast, traits come from straight within the box.
>
Certainly, but they suffer from the LISP effect. You can do
everything because the structure does not constrain you in any
way, while at the same time it become quickly very hard to
understand, for the very same reason.
I do think think the opposition between the 2, as seen in your
post, or Stroustrup's allergy to static if is wrong headed.
May be one can be expressed via the other ?
More information about the Digitalmars-d
mailing list