On 29/01/12 23:41, Jonathan M Davis wrote:
On Sunday, January 29, 2012 17:48:04 Stewart Gordon wrote:
On 29/01/2012 16:24, Chad J wrote:
Hey guys,

I know this is a bit late given the deprecation of D1 and all, but why
did we name the D2 compiler dmd instead of dmd2?

I'm not sure.  Was D2 originally planned to be backward compatible with D1?

No. They determined that they were going to redesign the language based on
what was learned with D1 and make something better. I suppose that it's a bit
like python 2 and 3 in that regard, except that D1 has never had the user base
that python 2 has had (python being much older than D, if nothing else). But
in both cases, the next version of the language is supposed to supplant the
previous one. It just takes time to do that.


This seems to be a common misconception. There never was a language "D1". What happened was, development of D was progressing in a continuous fashion. But, the rate of change was so high that the language was too unstable to be usable. So, a snapshot was made at an essentially random point in time. This became "D1, the stability branch". The development continued as before on the D2 branch. Splitting off the stable branch allowed us to concentrate on the unstable, experimental features. The const system took such a long time to work that the D2 branch wasn't really usable for much at all for quite a long time.

Points to note:
(1) D2 is not forked off D1, rather D1 is a snapshot of D2.
(2) D1 was NOT a planned language. It was simply frozen at a particular moment in time, with essentially no warning. (3) If there ever is a D3, it will not have the same relationship to D2 that D2 has to D1.

I suspect that even Andrei doesn't know this. I think it happened just before he became heavily involved in the language.

Reply via email to