Hacker News new | past | comments | ask | show | jobs | submit login
I Still Use D (aberba.com)
31 points by pjmlp on Dec 13, 2020 | hide | past | favorite | 8 comments



One thing that worth mentioning when an article like this about a less-popular language/library/framework is posted is that, a language, no matter how powerful, is not enough without a thriving ecosystem of libraries, resources, and community.

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.


Yes you are right the eco-system is not as thriving as Go or Rust but personally I think these two languages are the anomalies rather than the norms perhaps due their godfathers i.e. Google and Mozilla.

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.


The languages that last in a through-the-ages sense tend to be conspicuously small and own their domains well. Regular expressions are one such example - there are a few variations of syntax, but the basic idea has never changed, so it hasn't experienced the kind of drift you have when you're looking at a large ecosystem with lots of dependencies like browser JavaScript. Data serialization languages like CSV and JSON fall in this category too - they're simple enough to be used poorly, but that's also what makes them good enough.

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.


> The languages that last in a through-the-ages sense tend to be conspicuously small and own their domains well.

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.


IMHO the easier a language is to learn, setup, and mix with other languages in a project, the less important it is for the language to reach "critical mass". Especially the "mixing" part is important. There seems to be a common mindset that - eventually - one or few languages will "win", and all existing software will be rewritten in the handful "winning" languages. But old languages never die, they become part of the bedrock that other new languages will be built upon. A successful new language must integrate well with old code, not replace it.


I've got the feeling that rust covers similar needs and features (basically: a system programming language) but is much more trendy then D.


I feel like D has a lower barrier of entry than rust. It has the familiar patterns most developers a familiar with like garbage collection and inheritance while also giving you the tools to manually take care of the garbage in a safe manner.

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.


I can’t scroll on this page, mobile safari




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: