D benchmark code review

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Sat Dec 14 12:37:20 PST 2013


On Saturday, 14 December 2013 at 20:00:30 UTC, Brian Rogoff wrote:
>> "not-operator"? "Anything" is too vague and not true. You 
>> probably can't use these: ][+=-_,.|`\/"'><;:}{%^&*

Depends on the parser-tech. Modern parsers (GLR?) can handle 
complex grammars. In D template syntax looks like it has been 
added as an afterthought.

> I haven't found the !() syntax for D templates to be a problem 
> though and prefer it to <> from C++ and Java. If I were 
> searching for D blemishes, I wouldn't look there first.

I am not talking about it "being a problem", but about not being 
user-friendly when you are faced with unknown code where you do 
not know the symbols, it will slow you down.  "<>" is much more 
visually distinct, but I know the reasoning of keeping the parser 
simple. I just disagree with the solution. It is not  as 
comprehensible as it should be.

I also think D goes a bit too far in reusing symbols/keywords in 
general, sacrificing reader comprehension (reading speed). The 
grammar is not as clean as it should be for a new language IMHO. 
It has unnecessary clutter and lacks some visual cognitive 
support (for a clumsy human, not a compiler). It isn't worse than 
C++ though, but C++ is in whole an afterthought put in cement by 
the original c-front.

O.


More information about the Digitalmars-d mailing list