Why do some attributes start with '@' while others done't?

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Fri Jan 22 00:23:48 PST 2016


On Friday, 22 January 2016 at 04:30:33 UTC, tsbockman wrote:
> I don't necessarily disagree with your overall point, but I 
> think the question of whether a few attributes have an @ 
> attached to them or not ranks pretty low on the list of "70% 
> solutions with marginal support" that need fixing/fleshing out. 
> If this is truly among the most pressing issues with D, then D 
> must be in great shape.

It isn't the most pressing issue. It is an issue that gives 
newbies an impression that there are rough edges, but that is 
actually true… so maybe it is kind of honest to have a rough 
syntax at this stage.

In a future updated syntax "@" probably should be used for 
features that are annotation like and that works like UDA for 
consistency. More like "predefined UDA". Perfect for compiler 
hints like inlining, loop unrolling etc. Maybe even 
public/private.

> It seems like poor allocation of resources (both those of the D 
> development team, and those of the D users who would be forced 
> to update their code) to put much effort into this right now, 
> when there are so many other issues of greater practical import 
> to work on.

Indeed, reworking the syntax should be done after the semantics 
are frozen, otherwise the syntax will never be stable. So it 
should wait until D has figured out how to deal with "shared" and 
non-gc memory management.

And, IMO, when redoing the syntax one might want to look at 
contemporary languages like Swift and C# to see if one can lower 
the barrier to entry for Apple and Microsoft type programmers.

I am not sure if looking like C is all that attractive in 2016 as 
far as recruiting goes. By 2025 C-style syntax might be viewed as 
arcane among young programmers.



More information about the Digitalmars-d mailing list