C#5 desiderata

Ary Borenszweig ary at esperanto.org.ar
Sun May 30 10:07:16 PDT 2010


On 05/30/2010 08:49 AM, Don wrote:
> Simen kjaeraas wrote:
>> Leandro Lucarella <llucax at gmail.com> wrote:
>>
>>>> <g>. I just think that @ shouldn't be an excuse to be careless --
>>>> anything with an @ in front is still part of the language. That's
>>>> all.
>>>
>>> It shouldn't, that's (was?) the point of @. If the point of @ was to
>>> create a namespace for keywords, it sucks...
>>
>> With compiler- or language-given @keywords, there is no difference
>> from other keywords, except they don't eat valid identifiers. With a
>> user-configurable system, it's still part of a language, but that
>> language is specific to the component in which the @keywords are
>> being used, and thus does not pollute the namespace of keywords for
>> other projects.
>
> Except that they do eat identifiers for user-definable attributes...

Well, that's because in other languages (Java, C#), attributes are first 
class citizens and they have a namespace too. So it's like saying "Oh, 
you can't have a class named Object in D because Object is already a 
class", which is not true because you can disambiguate with a namespace. 
The same is true for attributes in Java and C#... but not for D. :-(

http://java.sun.com/javase/7/docs/api/java/lang/Deprecated.html

In Java, I can create my own @Deprecated annotation without problem.


More information about the Digitalmars-d mailing list