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.

Reply via email to