Vision for the D language - stabilizing complexity?
QAston via Digitalmars-d
digitalmars-d at puremagic.com
Fri Jul 8 07:06:41 PDT 2016
On Friday, 8 July 2016 at 00:56:25 UTC, deadalnix wrote:
> While this very true, it is clear that most D's complexity
> doesn't come from there. D's complexity come for the most part
> from things being completely unprincipled and lack of vision.
But that way is PRAGMATIC, don't you know about that? It's better
to solve similar design issues in 5 places differently based on
current need and then live with the problems caused forever after.
> Except that it is not the case. D fucks up orthogonality
> everytime it has the opportunity.
Well, there are some things kept orthogonal. Runtime and
compiletime parameters are not mushed together for example. But
the situation does not improve, relevant thread:
http://forum.dlang.org/post/nkjjc0$1oht$1@digitalmars.com
> As a result, there is a ton of useless knowledge that has to be
> accumulated.
Wanna use reflection? It's simple, just see template type
destructuring syntax, is expression, __traits, std.traits,
special builtin properties and functionlike-operators.
> For instance, you'd expect that
>
> template Foo(T...) {}
>
> would take a variadic number of type as arguments, while
>
> template Foo(alias T...) {}
>
> would take a variadic number of aliases. But no, 1 take a
> variadic number of aliases and 2/ is invalid. So now we've
> created a situation where it is now impossible to define
> variadic, alias and parameter/argument as 3 simple, separate
> things, but as a whole blob of arbitrary decisions.
Oh, but the current way saves 6 characters. And was what was
needed at the time of implemeting it.
More information about the Digitalmars-d
mailing list