Has D failed? ( unpopular opinion but I think yes )

H. S. Teoh hsteoh at quickfur.ath.cx
Fri Apr 26 05:45:24 UTC 2019


On Thu, Apr 25, 2019 at 10:01:20PM -0700, Walter Bright via Digitalmars-d wrote:
> On 4/25/2019 1:01 PM, Bastiaan Veelo wrote:
> > If you think it was a waste of time, you could just have continued
> > without updating. All releases are still there.
> > http://downloads.dlang.org/releases/
> 
> True enough. With other products, I don't upgrade them until there's a
> good reason to. Saves a lot of effort.

More than once I've been bitten by software upgrades that either
outright stop compiling or working with existing code, or break existing
code in subtle but unacceptable ways that are unfixable because they are
caused by fundamental changes that upstream will unlikely ever want to
revert.

These days, I've come to prefer just embedding the exact version of the
source code I depend on in my workspace, either checked in as part of
the source tree or as a git submodule (that ensures exactly the correct
version), and building everything manually.  That, or write my own code
and rid myself of too many external dependencies that are likely to go
sour without any warning when upstream decides to be "helpful" and break
something that used to work fine.

Of course, that's speaking from the receiving end of things.  From an
upstream standpoint, sometimes breaking changes are good, and necessary.
IMNSHO D should not be so paranoid as to avoid changes at all.  A
language that stops improving is a dead one.  As Andrei recently said,
the trick is addition rather than replacement.  Keep the old backward
compatible stuff around, possibly undocumented, or moved to some
archival repo like UndeaD, but still there to keep existing code happy,
and add new stuff like std.v2 to keep the good things flowing into the
language.  As long as it's *possible* to replicate the older behaviour
somehow without onerous effort, I think it's fair game.

And of course, when all else fails, older versions of dmd are still
available on the download page.


T

-- 
Elegant or ugly code as well as fine or rude sentences have something in common: they don't depend on the language. -- Luca De Vitis


More information about the Digitalmars-d mailing list