State of D 2018 Survey

Jonathan M Davis newsgroup.d at jmdavisprog.com
Fri Mar 2 11:00:09 UTC 2018


On Friday, March 02, 2018 10:37:04 Russel Winder via Digitalmars-d-announce 
wrote:
> On Fri, 2018-03-02 at 02:35 +0000, Meta via Digitalmars-d-announce
>
> wrote:
> > […]
> > D1 -> D2 nearly killed D (can't remember which, but it was either
> > Walter or Andrei that have said this on multiple occasions). A D2
> > -> D3 transition might generate a lot of publicity if done very
> > carefully, but more than likely it would just put the nails in
> > the coffin for good and destroy all the momentum D has built up
> > over the past 3 years (I feel like 2015 was a big turning point
> > where D finally got back on peoples' radars).
>
> And Java 5 nearly killed Java, as did Java 8 and Java 9. OK so there
> was more internecine warfare in the D1 → D2 thing, but hopefully the D2
> → D3 think will not only happen, it will happen relatively soon.
>
> Dx → Dy is the time for important breaking changes. There appear to be
> an increasing number of things annoying people about D2, ergo the
> pressure for D3 is building. NOT evolving from D2 to D3 is what will
> definitely kill D.

Really? The possibility of D3 gets mentioned _way_ less than it used to. It
gets mentioned ocassionally at this point but not all that often from what
I've seen, and almost always from folks who are new to the newsgroup.

Historically, D3 is what folks like to bring up when there's some particular
change that they'd like to see and which clearly isn't going to happen in
D2, but the idea has never gained any real traction, and as D has matured
and grown, the push to create D3 seems to have diminished considerably. We
get a lot less of folks trying to push for new features, because it's become
clear that D isn't constantly changing everything anymore, whereas when it
was younger, we'd make breaking changes all the time. That shift initially
resulted in lots of talk about D3, because a number of folks really wanted
changes that weren't making it into D2, but that talk has died down over
time. And we _have_ still managed to make some significant changes to D
without breaking everything or needing D3.

Thus far, we've largely been able to make changes without needing to move to
D3, and there really isn't agreement on what would be in a potential D3
anyway. There are some issues which may require D3 to fix (e.g. getting rid
of auto-decoding probably would, though maybe someone smart will figure out
how within D2) given that we don't want to break tons of D programs when
making changes, but overall, things have been going fairly well with regards
to evolving D2.

Regardless, Andrei has been pretty adamant about _not_ doing D3 any time
soon, and AFAIK, Walter is in agreement on that. They want D2 to actually
grow and become successful, not fork the community between D2 and D3. Yes, D
would probably survive it, but it would have a negative impact on D in the
short term, and it's not clear that it would even buy us a lot - especially
since a lot of the stuff that folks like to suggest for D3 are fairly
controversial. Not everything is, but there would almost certainly need to
be a pretty significant list of things that we clearly wanted to change with
D and couldn't do without bumping the version to D3 for D3 to even be
considered, and I really don't see that happening any time soon.

For the most part, I think that proposals of real value that don't break
everything stand a decent chance of being accepted as DIPs, and most
improvements don't require massive breakage. Some, like making @safe the
default would, and those aren't going to happen in D2, but that sort of
thing certainly isn't enough to merit forking the language - not on its own
anyway. And I'm quite sure that even if we were all agreed that breaking the
defaults for attributes were worth it, there would be quite a lot of arguing
about what the defaults should be. @safe would almost certainly win, but
stuff like pure would be far more debatable, and some folks love to bring up
the idea of making variables immutable by default, which doesn't play nicely
at all with many D idioms, so I doubt that that sort of change would be
accepted even if we definitely were doing D3 - but some folks talk like it's
a given that that sort of thing should be in D3. Just discussing what would
potentially go in D3 would open up a huge pandora's box of what should and
shouldn't be changed, and I don't expect that it would easily result in much
of the way of consensus.

In any case, I expect that anyone who wants D3 is going to have a very hard
time convincing Walter and Andrei that such large breaking changes would be
worth it at this point.

- Jonathan M Davis




More information about the Digitalmars-d-announce mailing list