why to (not) support "older" compiler versions
Mathias Lang via Digitalmars-d
digitalmars-d at puremagic.com
Wed Nov 4 09:16:22 PST 2015
On Tuesday, 3 November 2015 at 08:08:28 UTC, yawniek wrote:
> i have seen many PR's and also Forum entries that deal with the
> problem of newer features of the compiler not being able and
> then patching or working around that to support older compiler
> versions.
>
> since it is really easy to keep up with compiler versions and
> even switch
> (and not many features are being removed from dmd) what are
> good reasons to keep backward compatiblity?
>
> the latest example i saw was replacing groupBy by a loop to
> keep compatiblity with 2.066.
> while not a big thing, it adds up.
Why do we keep backward compatibility ? The answer is dead
simple: people need it.
The assumption that it's easy to upgrade is totally false.
Upgrading to a newer version is costly. You need to test it,
maybe repackage / redeploy new applications / library and monitor
that every still runs smoothly. This has a cost, and the bigger
you are, the higher the cost.
> since still a lot of useful features do get added into phobos
> at a fairly fast pace,
> would it not be better to to keep targeting just the two most
> recent versions and moving
> the ecosystem a little bit further.
Unless the new release has a definitive advantage for you, like a
much-needed feature, that cost isn't justified, and you're better
off spending time / money on things that matter to you (like new
features).
> For people entering the world of D it would be much more
> encouraging to read a lot
> of concise code using all the nice features we have instead of
> just lipstick'd C.
If 2.066 is just lipstick'd C to you, you had already spend too
much time having fun with D and not enough using C ;)
One thing important for people entering the D world (or any
world) is as little friction as possible. And if things don't
work out of the box it's a lot of friction. Backward
compatibility help with that as well.
More information about the Digitalmars-d
mailing list