What's the current state of D?

Leandro Lucarella llucax at gmail.com
Sun May 10 14:48:42 PDT 2009


Walter Bright, el 10 de mayo a las 11:21 me escribiste:
> Leandro Lucarella wrote:
> >Walter Bright, el  9 de mayo a las 22:05 me escribiste:
> >>Leandro Lucarella wrote:
> >>>Official? I don't see any official support for D in GDB. I can only find
> >>>this patches:
> >>>http://www.dsource.org/projects/gdb-patches/
> >>Dwarf has an official value for the language, DW_LANG_D = 0x13.
> >I'm talking about GDB. GDB has no official D support.
> 
> GDB officially supports Dwarf, and Dwarf officially has a D identifier. While gdb may not go any further than that, it's a start.
> 
> >There was a thread
> >in the NG asking for possible copyright issues to include the GDB patch
> >upstream, and it had no answer for example. I don't think you *have* to
> >answer that mail, but I think helping this kind of things happening
> >instead of ignoring them is good for D promotion too =)
> 
> Can you point me to that thread? There are an awful lot of posts, and I miss things.

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

> >>>How is that? Most runtime code is not used by the user directly. And for
> >>>this item I think not merging it does more damage than introducing
> >>>a breaking change (is much better to introduce a breaking change to solve
> >>>this problem than to add a predefined Posix version ;).
> >>Tango chose to use a number of incompatible names and a fundamentally
> >>different class hierarchy for the same thing(s).
> >How many people is using that? How bad would it be to call the next
> >version of DMD that include the Tango/Druntime runtime D 1.100 or
> >something (is really hard to pick right version numbers under the version
> >scheme you use[*]) to make clear there is compatibility break in that
> >version?
> 
> 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?

> >Seriously, there were several (silly) compatibility breaks since 1.0 was
> >out, I think is a huge issue that deserves it...
> 
> This is what I mean when I say that it's simply impossible to ask for
> breaking changes for D1 while pillorying D1 for breaking changes. I also
> believe it is impractical to divide D1 into two incompatible versions
> - then there'd be 3 D versions to simultaneously support.

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. You probably even have to maintain 2 D versions.
Other people could take over and apply fixes to the stable D branches
while you with D2. The problem is doing that right now is really hard,
because to see what changed in the DMDFE from one version to another you
have to download 2 complete compiler version, make a diff yourself and you
end up with a big diff that you can't possible break in small chunks with
individual bugfixes.

> 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.

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.


-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
De tan fina la condesa, por no cagarse, reza.
	-- Ricardo Vaporeso



More information about the Digitalmars-d mailing list