I Still Use D
aberba.com
aberba.com
I used be a purist looking for the best programming language to learn. But one thing I realized soon was even the most elegant, and most beautiful language can not compete with a good-enough language with a larger ecosystem.
Please do not write off D just yet since it's only about 20 years old. Remember when Python at 20, it was playing second fiddle to Perl, and Ruby was hot on its heels due to RoR. But now look how far Python has come despite the transition from Python 2 to 3 fiasco. At least D has passed the growing pain of transitioning from D1 and D2 with minimum damages.
Once you start looking at big applications languages that integrate a lot of features, it's a great wad of maintenance effort that you're hoping someone else mostly takes care of. None of them are really all that stable over the long run.
And there really are two kinds of code projects - the ones where you're maintaining it and the ones where someone else is maintaining it. If your work is open-source and popular you can end up being more of a maintainer than you anticipated, and really, you only have headspace for one or two of those maintenance projects, so while they're good learning experiences, you don't want to take them on lightly.
Huh: I would argue the languages with outsized influence/spread--and certainly the ones that both have lasted and which I expect to last--tend to be some combination of "evolved" and design by committee nightmares... including specifically the somewhat poorly-named "perl-compatible" regular expressions, which aren't even "regular" and have a lot of seemingly arbitrary syntax that had been born out of various evolutions of the core concept, that have both come to dominate and somewhat define the world of regular expressions. I feel like if you look at the "great" and enduring languages they are all of this character--whether it be JavaScript or C++ or sh or even SQL (or libraries that form DSLs, like OpenGL)--and that that shouldn't really be surprising as that's also how natural languages (as in, those spoken by humans) are maintained, with lots of slightly-incompatible splinters around a slowly drifting core that is continually being extended: a language that hasn't reached this stage is more of a "product" than a "language" and we see them come and go over timescales sometimes notably less than even a single decade, whereas languages with this property seem almost immortal... the one particularly notable example I can think of of a "natural programming language" drifting into obscurity is Lisp (by which I am referring largely to Common Lisp as the center of attention in a fractured environment that led to remarkable and almost ridiculous complexity around something most people incorrectly assume was trivial), which had a really really long run of it and is in some sense the Latin of our space (like... for a language which is almost never used anymore, we sure talk about it a lot ;P). It is the dominance of these languages that, to me, makes the study of linguistics tied to and intersecting the study of programming languages so fascinating.
As much as I love rust, I can see how as a language, D would be easier to teach devs who come from languages like java, javascript or php.