dmd2

Don Clugston dac at nospam.com
Mon Jan 30 01:09:51 PST 2012


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.


More information about the Digitalmars-d mailing list