Walter Bright, el  9 de mayo a las 11:23 me escribiste:
> Leandro Lucarella wrote:
> >D1 is INCOMPLETE (for example pre/post conditions inheritance are
> >missing). I tend to forget which features are there for real what aren't
> >(there are a few, true, but still).
> 
> Array ops weren't there for a long time, many argued that D1 wasn't complete 
> without them, and a few months ago I added them in.
> 
> As far as I can tell, nobody cared about array ops.
> 
> In C++ land, only one compiler actually completely implements C++98, and
> this is after more than 10 years. (Exported templates and template name
> lookup rules remain unimplemented by major compilers.) (P.S. Digital
> Mars C++ does the correct name lookup rules!) The fact is, nobody
> actually cares about those incomplete features. Nobody uses exported
> templates, even if they are using a compiler that supports it.
> 
> So that leaves contract inheritance. I find it hard to see how not
> having it is a showstopper for using D1. Contracts in D haven't been the
> big win I thought they might be at first. They aren't use much at all.
> There are a lot of other issues that do make a big difference, and those
> are the issues that get attention.

Exported templates was unpractical and unimplementable AFAIK (but I guess
you know that better than me). And C++ is an ISO standard language. D is
not. If something is unpractical and unimplementable in D (I don't think
is the case of contract inheritance) why didn't you removed a long time
ago when you decided that it wasn't useful?

And maybe you are right, but the bottom line is how D is perceived. People
usually don't go through the C++98 standard to learn C++, but it goes
through the D specs to learn D. Nobody talks about exported templates in
C++ because they don't exist in reality, but the D specs talks about
features that are missing in what is supposed to be a finished version.
And that makes D looks bad.

> >Another very *BIG* issue is lack of mainstream tools support.
> >C++98 was finished before starting C++0x. A lot of effort was made to make
> >mainstream tools to support C++. Most tools demangle C++ names (even when
> >they aren't standard!). At least GDB should be able to do that, and
> >Valgrind and GNU binutils, if you want people to be comfortable working
> >with D. There are patches here and there but nothing works out of the box.
> 
> GDB does have an official D mode. There are demanglers for
> D identifiers. Can you submit patches for GDB to the official source
> tree?

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/

And this thread about integrating the patches in GDB:
http://www.digitalmars.com/d/archives/digitalmars/D/Getting_D_language_patch_into_GDB_82597.html

But I can't see any mention in the official GDB documentation and
certainly it doesn't automatically recognize D programs as such.

> >I think what D1 is *really* missing is that 2 things: completeness and
> >tools support. Without that is really hard to take it seriously.
> >I think the D team should be working more in that direction before
> >finishing D2. I know is very boring comparing it to making D2, but I think
> >that is what is transmitted from D maintainers: "D1 is boring, don't pay
> >attention to it, D2 is fun, let's play with that!". And this is what
> >happening. People are playing with D2 and forgetting to finish D1.
> 
> It isn't about boring. It's about allocating our very limited resources
> for maximum effect. If I thought that contract inheritance was
> a showstopper for D1, it'd move way up on the priority list. But I have
> a hard time believing it is a showstopper, like array ops turned out to
> not be.

I don't think it's a *showtopper*. I'm trying to explain one of the
reasons I think D is perceived as a toy/incomplete/not-ready-for-business
language. But I certainly think D 1.0 should be finished before 2.0 though
=)

> Most of the work I do on dmd is bug fixes, and nearly all of those wind
> up in D1 as well. It's just not true that D1 is being overlooked or
> ignored, and the D1 changelog should amply illustrate that.
> 
> http://www.digitalmars.com/d/1.0/changelog.html

I know that. Everybody knows that. And I don't think anybody is arguing
that. Lack of bug-fixing is not a mentioned problem AFAIK.

> >The Tango vs. Phobos is still a *BIG* issue for D1. I think don't
> >addressing that is a huge error. It's only hurting D1 and preventing its
> >adoption.
> 
> Doing a merge would be a very breaking change. D2's support for Tango is 
> probably the biggest breaking change in moving D1 code to D2.

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

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------

Reply via email to