Does D have too many features?

Alex Rønne Petersen xtzgzorex at gmail.com
Sun Apr 29 13:43:39 PDT 2012


On 29-04-2012 00:18, Manu wrote:
> On 28 April 2012 21:47, Walter Bright <newshound2 at digitalmars.com
> <mailto: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.

+1.

> * 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.


-- 
- Alex


More information about the Digitalmars-d mailing list