What are (were) the most difficult parts of D?

Anonymouse zorael at gmail.com
Thu May 12 14:42:43 UTC 2022


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.


More information about the Digitalmars-d-learn mailing list