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
|