State of D 2018 Survey

Adam D. Ruppe destructionator at gmail.com
Fri Mar 2 05:15:40 UTC 2018


On Friday, 2 March 2018 at 02:35:46 UTC, Meta wrote:
> D1 -> D2 nearly killed D (can't remember which, but it was 
> either Walter or Andrei that have said this on multiple 
> occasions).

This gets repeated over and over again, but I haven't actually 
seen any evidence for it.

But even if it is true, I'd say it is just because they did it 
wrong. There never really was a D1->D2. There was just an ongoing 
evolution of D where one version was arbitrarily forked off and 
called D1. Seriously, D1.00 and D 2.00 came out at about the same 
time: Version D 1.001 Jan 23, 2007; 2.000 Jun 17, 2007.

I remember the biggest troubles I had with D2: immutable being 
introduced and changing, and a bunch of little library 
renames.... and they weren't really that big of a deal and btw 
occurred over the next ~2ish *years*. It wasn't all at once - 
remember "D2" was just the evolving D. D1 was a random, arbitrary 
snapshot.

If I were to do a D3, I'd make it opt in at the module level, and 
keep it so all D code can be compiled together - corresponding 
features added each step. For example, a "d3 module" is @safe by 
default. But the @safe semantics are still tehre for a "d2 
module", you just annotate it elsewhere. Then there's no breakage 
and you can still change things.


More information about the Digitalmars-d-announce mailing list