bearophile wrote:
Bartosz Milewski:
With every release of D we are narrowing our options. After D2 and TDPL, backward
compatibility will become a major thing, so every ad-hoc feature in D2 will have
to be carried over.<
D is a bit compatible with the C language, but one of the main selling points
of D (D1, D2, D3...) is its newer and cleaned up nature.
So I think D3 will break compatibility with frozen-D2 in many places, trying to
fix the design errors of D2. D3 will not have a quick release schedule, I think
it will try to learn from D2 and D1 in a more thought-out way, because D2 will
be an essentially complete language, so the purpose of D3 will be mostly to
improve things replacing features with better ones that do similar things :-)
For example in D3 the switch may use three ... points as in the GCC extension,
and so on. In the meantime people will often use D1 (until LDC becomes a good
D2 compiler).
Bye,
bearophile
Speaking of switch, I have tried to convince Walter to require either a
break; or a goto case xxx; at the end of each snippet inside a switch. I
was surprised by his answer: "but I use fall through all the time!" :o)
I personally think requiring a goto case xxx; is more robust in presence
of code maintenance because its semantics is invariant to code moves.
Andrei