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.