Does D have too many features?

Manu turkeyman at gmail.com
Sat Apr 28 15:18:07 PDT 2012


On 28 April 2012 21:47, Walter Bright <newshound2 at digitalmars.com> wrote:

> Andrei and I had a fun discussion last night about this question. The idea
> was which features in D are redundant and/or do not add significant value?
>
> A couple already agreed upon ones are typedef and the cfloat, cdouble and
> creal types.
>
> What's your list?
>

I personally find the wealth of features in D to be one of it's major
selling points. It helps simplify user code a lot, but I think there is
room for some things to be more consistent:

* version refuses to allow boolean logic, I need boolean logic, thus
version is redundant to me. I find myself using static if almost
exclusively in its place. I like the *idea*, but it's un-usably limited.
* Consolidation of meta/introspection: __traits(), std.traits, is(), and a
few other tricks, I often don't know where I should look to perform a
particular introspection task. __traits is unsightly, it looks more like a
hack rather than a feature, but it fills perhaps one of the most vital
roles in the language.
* D has a lot of attributes, many of which I haven't used + don't
understand. I suspect many of them could be removed and implemented in the
library with a proper user attribute system (which would be really useful
to compliment D's introspection anyway). This would also free those
keywords when those libraries aren't imported/used.
* I don't know the value of AA's in the language, I've only used them once
or twice. Because AA's can be implemented in numerous ways (map, hash
table, etc), and may be ordered or unordered, the the choice of which to
use is actually important to the problem more often than not. As long as
the same convenience can be achieved in the library (literal expression?),
maybe it should be there.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120429/b929bac0/attachment.html>


More information about the Digitalmars-d mailing list