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