Does D have too many features?
Don Clugston
dac at nospam.com
Thu May 3 06:55:39 PDT 2012
On 28/04/12 20:47, Walter Bright 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?
Other ones which were agreed to a long time ago were:
* NCEG operators
* built-in .sort and .reverse
=============================
About the NCEG operators -- the reason they're redundant is that you
practically always want to treat NaN separately.
I've tried _very_ hard to come up with uses for them, but without success.
The thing I've used the most is:
x !<>= x
which is a kind of built-in isNaN(x), but that can also be rewritten as:
x != x
Initially I though you'd do things like
real func(real x)
{
// x must be non-NaN and in the range -x.infinity .. N
if (x !< N)
return real.nan;
but even that isn't convincing, because if x is NaN you should be
returning x, so that you preserve NaN payloads.
I think I have used these guys more than anyone else, but I still
haven't found a single use case that stands up to scrutiny.
More information about the Digitalmars-d
mailing list