Dynabook hw cost

Blake blake at kingdomrpg.com
Sat May 26 21:15:13 UTC 2007


On Sat, 26 May 2007 13:02:05 -0700, Lex Spoon <lex at lexspoon.org> wrote:

> I am not so sure, however, that we have found even great ways to
> *think* about parallel programs.

Actually, I think programming in parallel could be easier than programming  
serially, given suffiicient help from the tool.

When I was fooling around with language designs, one thing that occurred  
to me was that, when we program serially, we imply that we =care= what  
order things are executed in, when very often we don't really. Order has a  
implied significance which can actually be deceptive. Worse, it can have a  
significance that is hidden.

For example, we could have some initialize code:

aVar := someClass new.
anotherVar := someOtherClass new.

Does anotherVar need aVar to be initialized before it can be initialized?  
Good programming practice sez "it shouldn't" but play along. The point is,  
there's no way to take say "I don't care what order things occur in, as  
long as THIS is done before THAT begins."

You could program in two dimensions, almost like music, where everything  
on a particular line had to be done sequentially, while things that were  
vertically arranged (rather than being chords, as in music) could be done  
in any order. Synchronization points could be set up vertically (almost  
like measure bars).

------serial execution----->
|			]
|			]
parallel		]
|			synch point
|			]
|			]

I think it would actually clarify things.



More information about the Squeak-dev mailing list