Why is D unpopular?
Siarhei Siamashka
siarhei.siamashka at gmail.com
Mon May 16 09:25:14 UTC 2022
On Monday, 16 May 2022 at 08:33:08 UTC, Mike Parker wrote:
> On Monday, 16 May 2022 at 06:51:46 UTC, Siarhei Siamashka wrote:
>> D is good for rapid development of new code, but isn't great
>> for long term maintenance because of the language evolution
>> and compatibility breakages. My understanding is that many D
>> projects and libraries died off because they could not afford
>> to keep up and can't be even compiled anymore.
>
> I don't think that's true at all. Maybe some people felt the
> rate of change is to high (others will tell you they want more
> breakage), but I suspect many D projects and libraries died off
> because their creators moved on to other things before they got
> their projects to the state they wanted. You can find countless
> projects like that in every language ecosystem. They're perhaps
> more noticeable in ours because we're so small.
>
> It's very easy to start a new project on a whim in any
> language, but getting it to the state you're aiming for and
> maintaining it long-term require discipline and commitment.
> Talk to people who actually maintain projects long-term to see
> what their take is.
I vaguely remember this message about maintaining 400kloc D code
and keeping it up with the latest compiler versions:
https://forum.dlang.org/post/idswokerwzdkszevjbrh@forum.dlang.org
Now I see that the poster said that the amount of breakages that
come from compiler upgrades was reasonably small (at least by the
poster's standards). But honestly, the description of their
development process and the fact that there are at least some
compatibility breaks is terrifying me. For example, I wonder what
are they doing when they need to bisect a somewhat old bug? There
are many little things like this that make everything problematic.
C++ compilers allow to pick an older versions of the standard for
keeping compatibility with legacy code (such as as the
'-std=c++11' option supported by G++). Rust has language editions
too, which help to ensure that the legacy code keeps working even
as the compiler evolves. But D language forever remains
experimental. Or at least it is perceived as such by many
outsiders and gets dismissed because of this.
More information about the Digitalmars-d
mailing list