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