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.

Reply via email to