You cannot be an expert in everything, that I understand.
But the "I can never get past the ugly syntax." reason is unusually superficial from you. Understanding Lisp macros or CLOS (the very cool object system) or Conditions (which are like exceptions, but also different in a very interesting and powerful way) is totally worth enduring the syntax for a language designer.
If you find the time, give it a try!
Either way: I am a big D fan, so I agree with your tastes most of the time. Thanks for your work :)
I find the ((()))) aspect of it difficult to read, whereas the algebraic notation is easy. I've struggled with trying to read Lisp code for decades. It's a proverbial square peg that won't fit in the round hole.
A major aspect of D is the aesthetic look of the code. It's why I call D "elegant" as it just looks good on the screen. For example, this is how modules are imported:
84 total, with this breakdown:
Core Basics 19/20
Intermediate 20/20
Advanced 13/20
Expert 15/20
Grandmaster 17/20
Scientific Estimate: 69 100 word
It began very simple, so that I took it not very serious for a moment, but I never heard many of the later words. But thanks to knowing some latin and other languages, I could understand many of them.
Raku to me is like Esperanto: An absolutely beautiful idea that sadly is not used widely (or even known widely). And for both cases, I would love for things to be different, but since the alternatives (be it English or Java/Typescript/...) are deemed "good enough", chances are slim.
This is not wrong per se, but they also try to reduce/remove this giant lock as much as possible. If you see entries like "Unlocked socket splicing." in the changelog, then this is one more case where the giant lock is not needed and in which therefore all cores can be used.
The Emacs one is actually more a bug/feature in Git.
If you execute "git ls-files" in the folder from the PoC, the payload gets executed. Emacs just does this automatically for you.
You never get a second chance at making a good first impression.
I believe that many people that gladly use Rust or Zig or Go nowadays would be quite happy with D if they were willing to give it a fair evaluation. But I still often find people going "D? I would never use a language where the ecosystem is split between different standard libraries"/"D? No thanks, I prefer compilers that are open source" or similar outdated claims. These things have not been true for a long time, but once they are stuck in the heads of the people, it is over. And these claims spread to other people and get stuck there.
If you do not want to use a GC, it is trivial to avoid it and still be able to use a large chunk of the ecosystem. But often avoiding GC at all costs is not even necessary - you mostly want to avoid it in specific spots. Even many games today are written with tasteful usage of GC.
The one thing that really is a fair disadvantage for D is its small community. And the community is small because the community is too small (chicken/egg) and many believe in claims that have not been true for a long time ...
> You never get a second chance at making a good first impression.
There's a good number of younger programmers like myself who've never heard of D, say, before 2017 when those false claims were still true. Our first impression of D comes from its state today, which is not that far behind from other emerging languages.
But the "I can never get past the ugly syntax." reason is unusually superficial from you. Understanding Lisp macros or CLOS (the very cool object system) or Conditions (which are like exceptions, but also different in a very interesting and powerful way) is totally worth enduring the syntax for a language designer.
If you find the time, give it a try! Either way: I am a big D fan, so I agree with your tastes most of the time. Thanks for your work :)