D vs C++

foobar foo at bar.com
Mon Dec 27 15:51:21 PST 2010


Andrei Alexandrescu Wrote:

> On 12/27/10 2:34 PM, foobar wrote:
> > Andrei Alexandrescu Wrote:
> >> It's currently a growing niche as sequential speed doesn't scale anymore
> >> by Moore's law. Depending on the interplay of discoveries in the coming
> >> years, I believe it's not impossible that serial languages that spend
> >> CPU cycles on dynamic interpretation might become a historical curiosity
> >> caused by a fleeting context: (a) serial speed is large enough to allow
> >> wasting some of it, (b) I/O is much slower than CPU and dominates the
> >> performance profile of many programs, (c) many of today's computing
> >> needs are materially covered with relatively little CPU effort. Any and
> >> all such conditions may change in the future.
> >>
> >>
> >> Andrei
> >
> > No one can predict the future, but I feel that your conclusion is in conflict with your above description. Because sequential speed does not scale, there is a search for non sequential solutions. Those steer _away_ from hand managed systems languages that make such programming harder. In fact, it makes even more sense to go dynamic to adapt the code for different platforms and scenarios.
> > Erlang is an excellent example and is dynamic.
> 
> Good point. Yet Erlang's dynamism has little to do with its concurrency 
> capabilities and more to do with hot swapping.
> 
> At any rate, the current crop of successful dynamic languages (Ruby, 
> Python, PHP) seem to be worse equipped than the current statically-typed 
> languages (Java, C++0x), which are rather ill-prepared themselves. I 
> hope I placed a winning bet with D's NDS (no-default-sharing) 
> concurrency model; only time will tell.
> 
> 
> Andrei

As you said, both groups are ill-prepared (I would've used stronger words..), but I don't agree that the dynamic languages are worse in this regard. Take a look at how Ruby changed it's thread model in the transition to 1.9. It is easier to accomplish than in a compiled language. 

I agree that D's no-default-sharing is a _huge_ thing, this is also one of the big pros of Erlang. It is an important step but it is not enough and there are many more aspects to consider. 




More information about the Digitalmars-d mailing list