Quote:
Originally Posted by Lashtal
I wonder if automatic-concurrency will be a feature built-in to certain languages, while others will be totally bereft.
|
As I pointed out, some languages are inherently concurrent. Others support concurrency, but it has to be explicitly coded to be concurrent. Some languages don't support concurrency at all.
Quote:
Originally Posted by Lashtal
This could perhaps become the new, "this language has automatic garbage collection and this one doesn't" comparison/debate. no?
|
Garbage collected vs non-garbage collected is about performance. For embedded systems or performance critical applications you don't want a garbage collector kicking in at just any time. Languages like Java don't allow the coder to specify when garbage collection should occur, or maybe more importantly, not occur (actually I believe Java allows you to 'suggest' when to do garbage collection). However, in general, features like garbage collection are more 'affordable' than in the past.
Concurrency is about performance as well, but the question you have to ask yourself is 'Is it useful to divide a single task between multiple processors?'. Some tasks are strictly sequential and cannot be done concurrently (ie function b needs the result of function a before it can do any work). Other tasks aren't demanding enough to warrant concurrency, and the overhead of implementing concurrency may reduce overall performance.
|