On Wednesday, 3 February 2016 at 12:06:30 UTC, Martin
Tschierschke wrote:
If something is around the corner, you must know!
There are many corners. Some, like the corner of compiled
languages with automatic memory management and high level
features have moved a lot in the past few years (Swift and Go).
It is gone. There is no way for D to catch up with Swift and Go.
The other corner, taken by C, C++ and now also Rust, moves a lot
slower and is in some areas incapable of moving. So I think the
current focus on interfacing with C++ is the right focus, just
keep focused on it. D needs to reach parity with common C++
features and then do it better across the board.
C++ is basically incapable of undoing past bad design decisions.
D also have baggage, but D is fortunate enough to have commercial
users who have clearly stated that they welcome breaking changes,
so D can thankfully get rid of bad design choices.
C++ cannot break existing code, and Rust has gone down a trail of
semantics that leads to complicated compiler design. That's to
D's advantage, if D avoid going down similar complicated routes
(unfortunately some DIPs suggests otherwise). There's lots of
potential there if the D designers stay focused on that target
and take the fast path (avoid convoluted semantics and compiler
requirements).
And a special second list, where people can vote, which topic
of D (language or environemt) need to be improved most?
The historical challenge for D is a tendency to spread out.
Voting is no good, it takes away focus. Then you are back to
hunting down many corners, and D will remain one step behind.