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.

Reply via email to