YAPP - reminder

aarti_pl aarti at interia.pl
Sat Aug 8 02:18:47 PDT 2009


Hello!

This is just another reminder about ongoing voting about properties:

http://www.igsoft.net/dpolls/index.php

Current results:

* about 68% of responders want to have special syntax for properties
* from people wanting new syntax most people want C# syntax (26 votes) 
and then almost ex-aequo syntax with "property" keyword (25 votes)
* seems that only one person from 88 voters like opGet_<property> syntax
* quite a big group of responders (~32%) wants just fix problems in 
existing property syntax
* 60% of people (but only 75 voters) want to remove possibility to omit 
parentheses from function call.


----
Comments:

I think that these results are already quite representative, but poll 
should be open till tomorrow. So there is still chance to vote.


There appeared other proposals from time where poll was created. If you 
like something other than options in poll, then I think you should vote 
for "I want other syntax than above" option.


Personally I don't like so much C# syntax because of magic "value" 
variable, which refers to property value used in setter. There is 
another place in D where such a magic values appears: it is in variadic 
parameters functions. IMHO such a magic parameters could stay if there 
would be general syntax for getting compile time/runtime parameters of 
functions. In such a case there would be no more "magic" in language but 
rather clear rules how to read function parameter values using reflections.

Currently my choice would be something like proposal in DIP6 
(attributes). Using '@' at the beginning of attributes could be also 
used in another place: in imports it could be used to escape keywords, 
so that following would be possible:
--
import std. at traits; //then we could remove underscores from __traits
import d. at for.masses;
--
It's most general way of annotating source code with special compiler 
understandable meanings. Looking at result of poll & also seeing many NG 
posts I believe that most of D community prefers generality over 
one-time hackish solutions. And that's something to think about it... :-)


It seems that almost no one likes "ugly" functions with underscores and 
messing operator names with property names. I am not so surprised about 
underscores at all: it was common practice in C++, but it's not so 
common in other modern languages. But then why in D we have so many of 
them although no one really likes it (__traits, foreach_reverse, 
_argptr, _arguments)?


And finally: why polls are not integral part of digitalmars web page? It 
took me only one hour to set up this poll...


BR
Marcin Kuszczak
(aarti_pl)



More information about the Digitalmars-d mailing list