Vision for the D language - stabilizing complexity?
deadalnix via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 12 11:37:20 PDT 2016
On Tuesday, 12 July 2016 at 14:17:30 UTC, Andrei Alexandrescu
wrote:
> Indeed I'm not the sharpest tool in the shed, and since it's
> already been established I'm the idiot and you're the wise man
> (congratulations - surely enough the great work to substantiate
> that is very soon to follow) in the proverb, I hope you'll
> allow me one more pedestrian question.
>
Proverb are not meant to be interpreted literally. If I'd think
you are an actual idiot, I wouldn't waste my time arguing with
you.
> So I've been looking through this thread for the five examples
> of what you're talking about (which to my mind is "@safe is
> just a convention") and the closest I could find is your post
> on
> http://forum.dlang.org/post/iysrtqzytdnrxsqtfwvk@forum.dlang.org.
>
> So there you discuss the inconsistency of "alias" which as far
> as I understand has nothing to do with safety. Then we have:
>
> enum E { A = 1, B = 2 }
> E bazinga = A | B;
> final switch (bazinga) { case A: ... case B: ... } // Enjoy !
>
> which I pasted with minor changes here:
> https://dpaste.dzfl.pl/b4f84374c3ae. I'm unclear how that
> interacts with @safe. It could, if the language would allow
> executing unsafe code after the switch. But it doesn't. Could
> you please clarify? And could you please point to the other
> examples?
>
>
> Thanks,
>
> Andrei
My point has nothing to do with safety, and this is why various
example have nothing to do with safety. Safety was an example.
The enum/final switch thing was another. The alias thing again
one more. These are issue with which, each individual decision in
isolation is actually very reasonable, but simply fail as a whole
because these individual decision are either mutually exclusive
(worst case scenario), or simply introduce needless complexity
(best case scenario), both of which are undesirable.
The thread was about complexity in the language. My point is that
the current way things are done introduce a lot of accidental
complexity, which is overall undesirable. This impact negatively
various aspects of the languages, including, but not limited to,
@safe .
The problem I'm pointing at is that problems are considered in
isolation, with disregard to the big picture. Ironically, this is
exactly what is happening here, by debating every example to
death rather than on the point.
Maybe I'm not expressing myself badly, but I discussed this with
many other D community members and I seem to be able to reach
them, so it must not be THAT bad.
More information about the Digitalmars-d
mailing list