On Wednesday, 11 May 2022 at 05:41:35 UTC, Ali Çehreli wrote:
What are you stuck at? What was the most difficult features to
understand? etc.
I came from shell scripts. They grew too large and overly complex
when I wanted to do non-trivial things in a neat way, so I looked
to proper programming languages and arbitrarily settled on D over
python and similar. So for me the norm is D, and everything else
is "other languages".
That said, one thing I cannot seem to firmly wrap my head around
is `is` expressions. `is` does so many things. There's probably
more intricate examples of how it's confusing, but I don't know
it well enough to construe one:
```
alias AA = long*[string];
static if (is(AA whatEvenGoesHere : VP[K], VP, K))
{
static if(is(VP : V*, V))
{
assert(is(V));
}
}
```
The one thing that has caused me most anguish and woe is
hands-down https://issues.dlang.org/show_bug.cgi?id=18026 though.
It hasn't bit me for a while now, but the feeling of uncertainty,
that the compiler might just suddenly after an innocent change no
longer compile your project, seemingly outside of your control,
is just... disheartening when it happens.