On 02/03/2008, nicolas cellier ncellier@ifrance.com wrote:
Igor Stasenko a écrit :
On 02/03/2008, Jason Johnson jason.johnson.081@gmail.com wrote:
But the question is, where do you make your trade offs. If you take the simple way *for you* then just give access to threading to everyone and let them suffer with the pain of a paradigm too complex to be done correctly.
If you take the way that's simply for *everyone else* then you put this sharing inside the VM in the places it makes since and hide it from the language level (e.g. how at least Erlang does it)
I'd vote for *everyone* - put threading control at language side, as everything else in smalltalk. Any 'magic' should be a code which i can read and change, placed in image, not in VM. No-magic is the spirit of smalltalk, after all.
Yes but the spirit is also to build a VM able to hide some low level details like memory allocation... Smalltalk programmers are released from these release problems... Free to concentrate on higher level problems.
Wouldn't this apply to threads too?
It is, but developers should be free in choice whether use locking semantics or use vats/islands/E. Simply because there is no single, ultimately best solution for all kinds of parallel computing.
Nicolas