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

ketmar via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 23 15:20:17 PDT 2014


On Thu, 23 Oct 2014 21:33:00 +0000
Jonathan M Davis via Digitalmars-d-learn
<digitalmars-d-learn at puremagic.com> wrote:

> 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.
and those poor souls who already commited to D often just can't run
away, so they can stand alot annoying things, even if they praying to
break their code. this is J. Random, The Reddit User who really
matters. J. Random never used D for anything more complex than "hello,
world", but maybe he will write another "hello, world", and if we'll
change that inconsistent feature, which annoys alot of actual users, J.
Random will scream in pain! even if "changing the feature" means at
least one year of deprecation first, and J. Random's "hello, world"
will work for this year, and compiler will guide him in fixing his
code.

why can't i see that J. Random in recent discussion about deprecating
prefix 'const'? the universal answer was: "yes, break our code NOW!
PLEASE!" including people from the companies with big D codebases.

will it help if we'll start reddit campaigns instead of trying to talk
in this NGs? seems that J. Random The Reddit User has much more
influence on decisions like that.

> Deciding whether a particular change is worth making is 
> always a subject of big debate.
...and then someone will come and say: "no, we won't do that despite
anything you wrote here."

> 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.
i bet alot of people just tired of endless talking which leads nowhere.
heh, the strongest argument that can stop almost any discussion is
"well, try to convinve Walter". Walter is very talented person, he's
great person, and he is open to discussion, but it seems to me that he
has very solid picture of what he wants D to be and don't want to
change small things that are OK for him, but annoying for others. but
those "small issues that barely worth changing" tend to accumulate and
hurt the whole language.

> 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.
yes, that things just making life a little easier for D users. take me,
for example: i still can't remember where i should put that '@' and
where i shouldn't. it's not on top of my fingers and it has no logic
behind, so trying to remeber such thing breaks me out of my "thinking
stream". and this is so easy to fix that this annoys me each time. and
while it left unfixed, we accumulating more and more D code, making
fixing this thing in future close to impossible, 'cause it will really
break huge codebases.

aestetic things matters alot.

> 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.
yes, i'm sarcastic when saying this, and when i'm saying that "existing
D users are second-class citizens", but how else can i show that this
issues *matters* *alot*?

> and because we are very much trying to make it so that D 
> is mature enough to be used in production
people from companies which using D tells that it will be good to make
some code-breaking change and this change will made their codebases
easier to maintain and will make code from new developers less
error-prone. and... they are mostly ignored. so it seems to me that
having some useless legacy is the only way to sell D to some
"enterprise production".

> 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.
that's where my sarcastic "legacy means maturity" was born.

i love D and i want D to be widespread, but what makes me love D is
it's attitude to fixing stupid legacy we have in C and C++. and now it
seems to me that someone should start "BetterD" project to fix legacy
we already have in D. ain't the desire to fix legacy cruft was one of
the big driving forces of D creation? it's a pity for me to see that D
starting to follow some of the worst C++ aspects.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20141024/1a53ddfd/attachment.sig>


More information about the Digitalmars-d-learn mailing list