What's the current state of D?

Leandro Lucarella llucax at gmail.com
Sun May 10 20:16:43 PDT 2009

Walter Bright, el 10 de mayo a las 15:42 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el 10 de mayo a las 11:21 me escribiste:
> >I posted it in this very same thread, just before the link to the GDB
> >patches link. Here it is again:
> >http://www.digitalmars.com/d/archives/digitalmars/D/Getting_D_language_patch_into_GDB_82597.html
> Thank you.

You are welcome. I'm very glad this is taking some attention =)

In case you missed my other mail, I opened a bug report in GDB bugzilla to
keep track of the patch:

> >>Given all the beating of breasts and rending of robes about D1 not being
> >>stable and breaking code even when a bug is fixed in it, I just can't
> >>see coming out with a new D1 that substantially breaks every existing D1
> >>code base.
> >It would break all existing D1 code base?
> I suspect it would break pretty much all the non-trivial code.

What are exactly the user-visible changes?

> >If the compiler were really open source, and the frontend were in a public
> >repository, and fixes would be well separated patches, you wouldn't have
> >to maintain 3 D version.
> It's not just me, it's the poor sap who has to maintain 3 different
> versions of his library.

This is not fixable by adding a aliases for old names and leave them as

> >>D2 has already taken the steps necessary to support both Phobos and Tango.
> >But D2 is not nearly ready for production use. D1 is almost there... Is
> >missing so little that it's frustrating.
> I don't believe that contract inheritance is the key to production use.
> There shouldn't be anything standing in the way of using D1 for
> production use, and in fact it is being used that way.

Honestly I'm not confident enough in D1 for production use if it's
incomplete and if the Tango/Druntime runtime is not merged because
2 codebases should be maintained and you can't use the few libraries
available for one runtime with the other (without using some hackish
wrappers). Lack of support in mainstream tools is the other thing
preventing me to use D at work. I *can't* use D for something serious
(sadly, because I'd love to).

> >In case you are not following the thread about interior pointers, here is
> >another drawback for the Tango vs. Phobos problem, here is copy&pasted
> >fragment:
> >  I think it would be great to have a centralized place where to put this
> >  improvements. This is another situation where I think Tango vs. Phobos
> >  issue is killing D. When I started my work in the thesis I had to decide
> >  whether to work with Phobos or Tango. I finally decided for Tango, because
> >  is the only option for LDC and because is way better organized (and more
> >  receptive to patches). But I hate knowing that my work will be available
> >  (in the best case) only for people using Tango.
> I don't believe that splitting D into yet another separate version can
> fix this, as then the user has to decide which D to use.

Use the latest stable version, as you do with any serious language =)
You shouldn't introduce breaking changes too often. I think a language
version bump every (half) year is very acceptable.

I mean, just see how Python/Ruby/PHP/Java/Haskel/<pick any other language>
development model works, all very evolving languages that don't break
backwards compatibility very often and with a lot of well maintained
programs and libraries.

But this is getting repetitive, so I guess it has no point to keep
discussing it. Once in a while I have the crazy idea that you can be
convinced otherwise (hey! You finally got convinced to fork D2 from D1!

Maybe I'll try again in a few months...

Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
Si ella es el sol, yo soy la luna
Si ella es el mar, soy el desierto
Y estamos en eclipse total
Y estamos en eclipse total

More information about the Digitalmars-d mailing list