Origins of the D Programming Language

H. S. Teoh hsteoh at
Tue Dec 4 19:58:07 UTC 2018

On Tue, Dec 04, 2018 at 02:37:04PM -0500, Steven Schveighoffer via Digitalmars-d wrote:
> From my memory, I remember the big thing of D 2.0 was immutable/const.
> Essentially there was no way to shoehorn immutable (then called
> invariant) and const into the D compiler without breaking everything
> (and as one who tried to port Tango to D2, I experienced this
> first-hand), so the fork was made. I'm sure there was a definitive
> point at which this was decided.  Unfortunately, I don't think DMD was
> even using subversion back then, so the code history may be hard to
> construct.

This is also the version of D's history that I've heard before. D2 was
more-or-less "officially" started with the introduction of the const
system that broke basically all prior code. In order to keep existing
code working, D1 was forked from the main compiler and maintained for a
number of years.  IIRC it was also around that time that Andrei came on

Not using version control was a very unwise thing to do, though I do
sympathise that back in the day, there weren't many good version control
systems out there, plus the awareness of the benefits of version control
wasn't that widespread.

(I've had the misfortune of having to deal with CVS, which was OK for
smallish projects but was so painful to work with for real-world-scale
projects that it effectively acted as a deterrent against using version
control.  When subversion first came out, it was revolutionary to many
CVS users ("What, you can make a branch in just a few seconds, as
opposed to waiting 45 mins while CVS chews through your hard drive
updating all those RCS files?!").  Git took this to whole new levels by
making branches and history navigation local, avoiding network
roundtrips altogether, and really streamlining the checkin / checkout /
branch operations such that today, it's practically an embarrassment not
to use version control.  Years ago I started using version control for
*everything*, not just code, and haven't regretted it since. It's saved
my life more than a few times, not to mention the piece of mind that
backups are readily available should something horrible go wrong with
your precious files.)


First Rule of History: History doesn't repeat itself -- historians merely repeat each other.

More information about the Digitalmars-d mailing list