Stroustrup's talk on C++0x

Craig Black cblack at ara.com
Mon Aug 20 11:26:54 PDT 2007


"eao197" <eao197 at intervale.ru> wrote in message 
news:op.txc0txbtsdcfd2 at eao197nb2.intervale.ru...
> On Mon, 20 Aug 2007 10:05:26 +0400, Walter Bright 
> <newshound1 at digitalmars.com> wrote:
>
>> eao197 wrote:
>>> BTW, there is a C++0x overview in Wikipedia: 
>>> http://en.wikipedia.org/wiki/C%2B%2B0x
>>>  It is iteresting to know which advantages will have D (2.0? 3.0? 4.0?) 
>>> over C++0x? May be only high speed compilation and GC.
>>
>> Looks like C++ is adding D features thick & fast!
>
> Yes! But C++ is doing that without breaking existing codebase. So 
> significant amount of C++ programmers needn't look to D -- they will have 
> new advanced features without dropping their old tools, IDE and libraries.
>
> I'm affraid that would play against D :(
>
> Current C++ is far behind D, but D is not stable, not mature, not equiped 
> by tools/libraries as C++. So it will took several years to make D 
> competitive with C++ in that area. But if in 2010 (it is only 2.5 year 
> ahead) C++ will have things like lambdas and autos (and tons of libraries 
> and army of programmers), what will be D 'killer feature' to attract  C++ 
> programmers? And not only C++, at this time D would compete with new 
> versions of C#, Java, Scala, Nemerle (probably) and with some of 
> functional languages (like Haskell and OCaml).
>
> -- 
> Regards,
> Yauheni Akhotnikau

Agreed.  The standard is moving faster and includes more improvements than I 
previously expected.  What's more, major compilers have already begun 
working on these new features.  Some of these features will be available in 
GCC 4.3 and VC++ 2008 (expected February).  I would not be surprised if most 
of the standard features are implemented in compilers by 2010 as you 
suggest.

However, the benefit of D over C++ is still cleaner, more powerful syntax in 
general.  C++ might be getting more capability, but even so, it will not 
match D in clean expressive power.  Additionally, two and a a half years is 
also a long time for D to advance as well, and D's progression is very fast. 
Overall I have been very happy with D's progress over the past few years, 
both in compiler and library development.

That said, there are a number of things that I think would help aid the 
adoption of D over the next few years.

First, D needs to at the very least match the features that are added to C++ 
with regards to parallelism and concurrency.

Another thing that will aid in the adoption of D is to iron out whatever 
issues or percieved issues there are with the D 2.0 so that it will be 
accepted by the D community enough for library writers to migrate their 
code.

A dead horse perhaps, but I still think it would serve D well to have better 
C++ integration.  Granted this is a tough problem, as Walter emphasizes, but 
so was integrating Managed .NET C++ with native C++, which Microsoft was 
able to do rather well.  Experience has taught me that there is always a 
solution to issues like this, but sometimes requires us to think about the 
problem in a different way.

Other than that, fixing compiler bugs is probably the most important thing 
for D right now.  I am especially looking forward to fixes that will make 
__traits usable (if that's still what it's called).

One particular feature of pesonal interest is better support for structs 
(ctors, dtors, etc.)  This will help with complex mathematical data 
structures that I use that must be uber-efficient.

As far as these new namfangled macros, D is so powerful already, I don't 
really know exactly what this will give us over what we already have.  But 
perhaps I haven't given this as much thought as others have.

-Craig 





More information about the Digitalmars-d mailing list