On Wednesday, 14 June 2017 at 12:22:36 UTC, Russel Winder wrote:
On Wed, 2017-06-14 at 11:57 +0000, bachmeier via Digitalmars-d
wrote:
[…]
I've been using D for four years. I can still compile code
that compiled with DMD at that time, with only a few minor
modifications. I expect to be able to do the same four years
from now.
I suggest this is the wrong view of backward compatibility.
If you have a code that is never to change then you should
archive the compiler that compiled it along with that code. To
demand that D must never fail to compile ancient code is just
wrong.
If a code is to be left untouched but the compiler not archived
then the code must be recompiled and amended as needed with
each new compiler that is accepted in the workflow.
I'm not saying all old code should compile without changes, just
that it should compile with only minor changes. I know that in
some cases new releases of DMD have stopped compiling pieces of
my code that shouldn't have compiled in the first place, and
that's a good thing. On the other hand, dropping the GC would be
a dramatic change that would require a complete rewrite.
Libraries have to work with future versions of the compiler,
especially if others are using them and can't make changes
themselves.