Isn't it about time for D3?
Liam McGillivray via Digitalmars-d
digitalmars-d at puremagic.com
Sat Jun 10 16:30:18 PDT 2017
D is a language with much promise, but it still has many problems
that prevent it from being the great replacement for C++ that it
was always meant to be.
There have been many changes suggested over time to improve the
language, but they were rejected as they would inevitably cause
breaking changes. I think that breaking changes are something to
be careful about, and they can definitely be a nuisance to adapt
to. But they must happen once in a while for things to advance.
I think it's about time for D3 to start developing. So many
suggestions for language changes have accumulated by now so I
think that it's time to introduce to introduce the next wave of
breaking changes.
It's nice to see that there's a wiki page that documents the
history of suggested language changes. I applaud the organization.
https://wiki.dlang.org/Language_design_discussions
I realize that there are people who want to continue using D as
it is, but those people may continue to use D2. Putting the
breaking changes in a separate branch ensures that DM won't lose
current clients as they can just continue using D2 as they are.
Even after D3 is stabilized, D2 could have continued support
until nobody wants it.
In Lua (a language with a bigger past and hopefully smaller
future than D), breaking changes are introduced in even minor
versions. While I do think that's excessively frequent, there
are still users of Lua 5.1. Making D3 doesn't mean that D2 has
to die.
I feel like D3 would see significantly wider adoption than D2
ever got, as long as it successfully solves the problems of D2.
Here are some ways that D3 can be an improvement of D2:
-Final by default
-A standard library that is effective with or without garbage
collection
Even Andrei has admitted some issues with D when answering this
Quora question:
https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-of-C-between-D-Go-and-Rust-And-Why
Even if you don't want to release a D3 too soon, I think it
definately makes sense to get started sooner rather than later.
D3 should be developed for the same reason that D was first
developed; to make a better programming language that learns from
the problems of the one before.
More information about the Digitalmars-d
mailing list