Why do some language-defined attributes have @ and some not?

Jonathan M Davis via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 23 14:33:00 PDT 2014


On Thursday, 23 October 2014 at 07:54:05 UTC, ketmar via 
Digitalmars-d-learn wrote:
> On Thu, 23 Oct 2014 07:47:00 +0000
> via Digitalmars-d-learn <digitalmars-d-learn at puremagic.com> 
> wrote:
>
>> On Thursday, 23 October 2014 at 06:59:16 UTC, ketmar via 
>> Digitalmars-d-learn wrote:
>> > besides, no "serious" language can live without "legacy". 
>> > legacy is a sign of maturity. ;-)
>> 
>> So you are basically saying that D is a teenager for whom 
>> wearing ugly make-up is a sign of maturity?
> exactly. it seems to me that some D developers have strange 
> feeling
> that accumulating legacy will show D maturity and will help D 
> to become
> more widespread. despite all "#breakourcode" requests from real 
> D users.

I would be very surprised if anyone thinks that. It's a question 
of what breakage is worth making and the fact that every time we 
break people's code, we risk ticking users off and scaring them 
away. It doesn't work to become widespread - particularly in 
production - when you frequently break people's code (even with a 
good reason), and breakage needs a good reason even when it's 
rare. Deciding whether a particular change is worth making is 
always a subject of big debate. There _are_ cases where most 
everyone agrees and yet Walter won't make the change, but there 
are also plenty where there definitely isn't a consensus. For 
attributes, there's a consensus that the situation is not ideal, 
but there definitely isn't a consensus on what we should do about 
it or whether it's worth breaking code to fix it. And because 
it's pretty much an aesthetic thing, it's exactly the sort of 
thing where it would be very difficult to convince Walter or 
Andrei to make the change (especially Walter). Making the change 
won't fix any bugs and won't prevent any bugs, so it's a hard 
sell.

Regardless, no one is actually aruging that we want to leave any 
kind of legacy cruft in the language just so that we have legacy 
cruft and therefore look mature. It comes down to whether fixing 
that legacy cruft is worth it when everything else is taken into 
account, and because we are very much trying to make it so that D 
is mature enough to be used in production and gets wider 
adoption, the bar that something has to pass in order to be 
considered worth changing (particularly by Walter) is much, much 
higher than it would have been a few years ago.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list