Vision for the D language - stabilizing complexity?

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 21 01:40:03 PDT 2016


On Saturday, 16 July 2016 at 13:09:22 UTC, Andrew Godfrey wrote:
> ideas that would require a major version change. The thing 
> about that is that it can't be done incrementally; it's the 
> rare kind of thing that would need to be planned long in 
> advance, and would have to amount to a huge improvement to 
> justify even considering it.

It does not need to be planned long in advance, it only requires 
official backing as a side project. They could freeze current D2 
as a stable release and also work on a cleanup.

Instead you get people working on their own forks (myself 
included), or spin-off languages that goes nowhere.  Because you 
need momentum.  As a result neither D or the spin-offs gain 
momentum. And there are several spin-offs (some dead).

In the meantime low level languages like C++, Rust  and semi-high 
level languages like Swift cuts into the D feature set from both 
sides. C++ is clogged up by backwards-compatibility issues, but 
they are also smoothing out the rough edges where D once had 
clear advantages. Especially in the areas of convenience. 
C++14/C++17 are not very exciting in terms of features, but the 
additions are removing what people now seem to call «friction».

In order to stay competitive over time you need something 
significantly better, like stronger typing, which depends on 
static analysis, which requires a simple identifiable core (not a 
simple language, but a simple core language after you remove 
syntactic sugar).

One possible valuable addition would have been restricted 
refinement types, another is solid pointer analysis (without 
false positives).

Neither are incompatible with D as such, but you would probably 
need to attract compiler developers with a theoretical background 
to get it up in reasonable time. Without a clean core they will 
conclude that the it will be too much work and they will go to 
other big languages instead or work on other alternative 
languages that also go nowhere because they lack momentum...



More information about the Digitalmars-d mailing list