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.