Could D have fit Microsoft's needs?

H. S. Teoh hsteoh at quickfur.ath.cx
Fri Jul 19 23:36:40 UTC 2019


On Fri, Jul 19, 2019 at 11:19:12PM +0000, Mike Franklin via Digitalmars-d wrote:
> On Friday, 19 July 2019 at 22:12:17 UTC, H. S. Teoh wrote:
> 
> > To be honest, while I understand W&A's stance of wanting to
> > stabilize the language and thereby (hopefully) drive adoption, IMO
> > things would be better served if we started working towards D3.
> 
> I generally agree, but I was encouraged by Andrei's relatively recent
> post (https://forum.dlang.org/post/q7j3s0$15n7$1@digitalmars.com)
> 
> "We've been worrying too much about changing things."
> 
> "We should do what C, C++, Java, C# and many other languages do -
> leave past mistakes in maintenance mode and move on with new stuff."

Yeah, I remember Andrei saying that, and it *was* pretty refreshing to
hear.  However, I haven't seen any major steps in that direction (yet?).
Andrei was talking about std.v2, but so far I haven't seen any actual
action on that front.  Would be nice to see that it's not just a pipe
dream.


> This "add, but do no harm" is a good compromise, though it's much
> harder to avoid the "weird sh**" because that new stuff often
> interacts badly with the existing stuff and often limits what new
> stuff can be done.  But it's a better stance than that of the past 5
> years.
[...]

The way I envisioned it is, using std.v2 as an example, we'd put the
current (v1) std.* on maintenance mode, begin to build std.v2 until it
gains enough traction to be viable, then begin migrating stuff
(including user code) over, with the goal of eventually deprecating the
v1 stuff, and, in a more distant future, renaming std.v2 to std.

The thing about programming is, change is inevitable, so instead of
locking ourselves to our initial decisions, many of which will likely
turn out to be wrong / suboptimal in retrospect, why not build a way of
embracing and adapting to change instead of fearing it.

Of course, this will be much harder to do with language features, since
right now there's no such thing as language feature versioning in D (and
I've a hard time visualizing how such a thing could be pulled off in a
reasonable way).  So at some point, the only way to fix some of the
language-related "weird sh*t" is to just bite the bullet and make a
breaking change.  That has to happen *somehow*, lest we end up with the
fate of C++, accumulating crud from decades ago but you can't fix it.


T

-- 
What's an anagram of "BANACH-TARSKI"?  BANACH-TARSKI BANACH-TARSKI.


More information about the Digitalmars-d mailing list