On 10/18/07, <b class="gmail_sendername">Ralph Johnson</b> <<a href="mailto:johnson@cs.uiuc.edu">johnson@cs.uiuc.edu</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 10/17/07, Steve Wart <<a href="mailto:steve.wart@gmail.com">steve.wart@gmail.com</a>> wrote:<br>> I don't know if mapping Smalltalk processes to native threads is the way to<br>> go, given the pain I've seen in the Java and C# space.
<br><br>Shared-memory parallelism has always been difficult. People claimed<br>it was the language, the environment, or they needed better training.<br>They always thought that with one more thing, they could "fix"
<br>shared-memory parallelism and make it usable. But Java has done a<br>good job with providiing reasonable language primitives. There has<br>been a lot of work on making threads efficient, and plenty of people<br>have learned to write mutli-threaded Java. But it is still way too
<br>hard.<br><br>I think that shared-memory parallism, with explicit synchronization,<br>is a bad idea. Transactional memory might be a solution, but it<br>eliminates explicit synchronization. I think the most likely solution
<br>is to avoid shared memory altogether, and go with message passing.<br>Erlang is a perfect example of this. We could take this approach in<br>Smalltalk by making minimal images like Spoon, making images that are<br>designed to be used by other images (angain, like Spoon), and then
<br>implementing our systms as hundreds or thousands of separate images.<br>Image startup would have to be very fast. I think that this is more<br>likely to be useful than rewriting garbage collectors to support<br>parallelism.
<br><br>-Ralph Johnson</blockquote><div><br>+1 although the possibilities appear seriously constrained by having the cart(hw) before the horse(sw):<br>
<br>
<div style="margin-left: 40px;"> People who are really serious about software should make their own hardware.<br>
<a href="http://folklore.org/StoryView.py?project=Macintosh&story=Creative_Think.txt">Alan Kay @ Creative Think Seminar 1982</a><br>
</div>
<br>
There may indeed be ingenious ways for a chemist to make ice cubes
suitable for doing laundry, but <a href="http://www.rhythmeering.com/2007/06/18/water-and-ice/">having a supply of liquid water will
generally be a more fruitful approach</a>. The experiences of many decades seem to indicate that these issues just won't go away. What will it take to get the
Squeak/Croquet/Smalltalk community to commit to an evolutionary path through
things like Spoon and Plurion that lead to disruptive innovation? <br><br>Laurence<br></div><br></div><br>