Reddit: why aren't people using D?
KennyTM~
kennytm at gmail.com
Tue Jul 28 10:21:31 PDT 2009
sclytrack wrote:
>> - How does it interact with inheritance? Can I override properties?
> sure
>> Can I partially override properties (setter but not getter)?
> C# no.
>> - Can I write a setter that accepts another type?
> no
>> - Can I write a templated setter that accepts *all* types? If so, how?
> wut?
>> - Can I create a delegate from a setter/getter? If so, how?
> eh. Like events?
>> - I assume that getters/setters can have individual access specifiers
> sure
>> (i.e. private/protected/public), but is that really the case?
> sure
> -------------------
> property -> prop (it appears billions of times)
> -------------------
> How about big letters?
How about identifiers starting with ß? _?
>
> string Name(){}
> void Name(string) {}
> void doStuff(string) {}
> -------------------
> 1. To show up differently from the normal methods
> in the reflection to be used by the IDE.
>
> 2. To behave like fields with respect to +=, and other stuff.
>
> Number (1) is the only thing that Delphi does, it does
> not have operator overloading like (2).
>
> The D compiler does not need any distinction between
> the normal methods, and the "ones" to be shown in the IDE
> because it does not create the reflection information,
> (to be used by the IDE)
> -------------------
> Constraints on properties, but NOT relevant
> (skip this text)
>
> 1. No multiple parameters
> void setPosition(double, double) {}
>
> 2. No overloads
> void setPosition( Vec2 ) {}
> void setPosition( Point2 ) {}
>
> The IDE could pick the ones that have
> minimum a getter, hence not relevant.
> (I think)
>
> 3. Both at the same time. (C#)
> virtual setPosition()
> virtual getPosition()
>
> public override double Area {
> get {return mySide * mySide;}
> }
>
> 4. Not same name as methods.
>
> 5. ... working on this one...
>
>
> D style properties are less restrictive.
> --------------------
> Java Annotations provide a more
> GENERAL way to "tag" methods, by
> providing user defined Annotations.
> (Heavily used in EJB 3.0)
>
> @Prop
> public String name() {}
>
> The API provides routines like
> .getAnnotations()
> .isAnnotationPresent()
>
> Again D does not create the
> reflection information to be
> used by the IDE.
> --------------------
> (skip the following text)
>
> Chocomilk is very good, I drink
> it every morning. I don't know
> why? I just like it. Also I just don't
> understand those coffee people.
> How can they drink that discusting
> juice every day, make jokes about it
> every morning?
>
> No for me a nice cup of warm chocolate milk.
>
More information about the Digitalmars-d
mailing list