d future or plans for d3
Alex Rønne Petersen
xtzgzorex at gmail.com
Sun Dec 18 04:19:43 PST 2011
On 18-12-2011 12:45, Somedude wrote:
> Le 18/12/2011 12:13, Ruslan Mullakhmetov a écrit :
>> I do not want to make a flame over D vs C++11.
>>
>> ...
>> Once again, i'm not trying to make a holywar. I'm D lover myself. But a
>> lot of people do not consider this benefits of D enough to shift to it
>> as for my opinion and experience.
>>
>>
>
> These people will not change their mind whatever you throw at them. For
> them, it's a matter of religion, not a matter of comparison. We
> shouldn't bother pleasing such or such group of people.
>
> BTW, your comparison with Erlang misses one crucial point: performance.
> A part for some very specific applications for which it is designed,
> Erlang's general performance is simply not comparable to that of D. A
> lot of D's complex set of features is geared towards increasing runtime
> performance. Erlang just doesn't compare.
On the other hand, Erlang's runtime is built around message-passing. I
*extremely strongly doubt* that you can get similar performance out of
message-passing in D, for two reasons:
1) The Erlang runtime is written in highly optimized C.
2) Erlang uses better garbage collection strategies than D.
On point 1: Of course, you can write a message-passing implementation in
D that's basically just glorified C, but that defeats the point of using
D in the first place IMHO.
On point 2: This is highly unlikely to change. It seems (from reading
the NG's past discussions) that there is virtually no interest from the
core devs of D to do The Right Thing to make precise garbage collection
possible, sadly (and neither to make thread-local GC possible, and other
such techniques (Erlang runs a separate GC per Erlang process, very
successfully)).
Yes, Erlang's emulator is not good in raw performance. It was never
geared for this (that's why it has easy interfacing with C for
performance-sensitive code). However, things like HiPE improve the
situation.
All languages have their place, and Erlang is still going strong in the
world of massive concurrency. I doubt D will be able to challenge this
until its GC issues have been resolved (and even then, D is nowhere near
as convenient, lacking fault tolerance and location transparency;
sometimes these traits are *much* more desirable than raw performance
when dealing with concurrency on such high levels).
- Alex
More information about the Digitalmars-d
mailing list