On Thursday, 7 November 2013 at 20:16:46 UTC, Jonathan M Davis
wrote:
If you want anything like this to happen, you'll have to
convince Walter and
Andrei, and I would be shocked if they were ever convinced.
They want to focus
on stability, not on tweaking everything in search of making
the language
perfect. Breaking changes - especially breaking changes on this
scale - need
to provide real, tangible benefits which outweigh the cost of
the breakage. And
changing the @ attributes doesn't even come close.
I tend to lean towards this position with time more and more.
Problem is, stuff that bothers me most in D which I'd like to
change in a breaking way is not lack of some new features or
re-engineering of some specific syntax. Under-explored semantics
of some core language parts are most frustrating in my every-day
development - like tuples or attribute defaults or symbol
visibility. But changing/fixing those will yield completely
different language, something like D3, it is not some incremental
augmentation.
And when it comes to exiting feature set - D2 is already so much
ahead of C++ that I tend to desire more stability / "industrial
quality" to act as replacement right here and now. No single
improvement will benefit as much as simple proof that D community
can craft tool set that "just works". In that sense, any proposed
addition must be either completely in style with existing
language state or give really enormous benefits. Being simply
good is not enough.
Of course, good stuff is still worth discussing - language design
moves forward and D3 is inevitable, whatever Walter intention
here is. There are already D derivatives that do experiment in
that domain trying to build on D experience foundation in the
very same way as D did on top of C/C++. But that is completely
different story - D upstream itself must first prove itself
capable of producing at least single mature language version /
implementation before moving forward.