Is D really that bad?
SealabJaster
sealabjaster at gmail.com
Tue Nov 1 13:51:14 UTC 2022
On Friday, 28 October 2022 at 09:51:04 UTC, Imperatorn wrote:
> Is D really that bad?
It's far from bad but far from perfect :)
My own personal annoyances with D are:
* Subpar support for @nogc code. I don't quite know why but I've
really taken a liking to writing in @nogc, and I'm very very
slowly writing my own library to handle some things, but it's
kinda sad we don't even have @nogc containers in Phobos.
I'm not a GC hater btw, and I like how simple it can be to reason
about D's GC.
* Poor ecosystem. I know we can tap into the vast landscape of C,
but I'd rather a nice native D API instead (or D wrapper).
Strangely, I don't really feel any real motivation now to share
my code, especially on dub, so I mostly just write things for
myself to use.
I want to improve things myself, and I've had some fun ideas in
mind, but time; effort, and increasing disinterest in the
language outside my own little bubble, is kinda stopping that.
* The 'fashion' of stuffing things into library solutions instead
of adding it into the language. I _love_ what we can achieve in D
via its native prowess for metaprogramming, but it kinda falls
flat on its face at times.
For example, with pattern matching for SumType, having an error
in your match handlers can be very... interesting to debug;
likely has much more impact on compile times than a native
language solution, and I've been meaning to measure what the name
mangling for symbols that end up in the resulting binary is like
for more extensive usage of sum types.
One of the things I love about C# is all the syntax sugar - it
makes code feel more expressive to me.
* The impossible situation we're cornered into when it comes to
discussing adding things directly into the language: Should it be
@gc? @nogc? both? exceptions? support the newer safety fetures?
how can we shoe horn it into a library instead? etc. etc.
String interpolation is my favourite example of this.
* A general lack of vision. Honestly I don't really know what D
wants to be or achieve, and I find it hard for my personal usages
at the moment due to things like a lack of a solid AWS SDK. It's
a language for everyone and everything yet also no one and
nothing at the same time.
* Tooling not being terribly great compared to other languages.
Still though, there's no other language I love using more than
this one, even if I personally can't see much of a future for it
anymore :)
idk, it's weird because in some ways I've kinda given up hope
with D, but I still want to use it because nothing else I've
tried really compares in terms of expressiveness and
metaprogramming. I have to use Go a lot for work, and even with
generics I'm just begging for even simple templating that D has
instead of generics ;-;
More information about the Digitalmars-d
mailing list