solidstate1991 wrote:
E already exists (https://en.wikipedia.org/wiki/E_(programming_language) + AmigaE), two things having the same name often doom one of them into obscurity (see SDLang, which originally was called SDL).
and there were several "D"s too. ;-)
There were already a few changes in the language (use of static imports instead of directly accessing functions/libraries, etc), just as we're adding to the language, we can remove rarely used functions by first making them deprecated, then removing them altogether as time passes on.
sometimes it is hard or even impossible to change something and keep old feature still working. it also require considerably more efforts to support old and new feature set simultaneously. while D2 can continue evolving (and it surely will!), having D3, where keeping old code working is not a concern, can be useful.
nobody says that we should abandon D2 tomorrow and switch everything to D3. it's more about exploring new ways without constant pressure of "don't break the code" mantra.
don't get me wrong, tho: "don't break the code" is good. but it limits possible ways D can evolve (or greatly slows it all down). D3 can be "experimental research project", where some of the dreams can come true. it may won't even reach the state where it will replace D2, instead D2 may adopt some D3 features, and D3 will be scrapped (or restarted). there is nothing wrong with it. also, i don't expect D3 to be developed in "full speed" too.
