On Thu, 2009-09-03 at 17:35 -0400, erik quanstrom wrote:
> On Thu Sep 3 17:09:01 EDT 2009, [email protected] wrote:
> > Anything can be done using regular C and threads. The trick here
> > is to make everything *scalable* and *painless* enough so that
> > mere mortals can start benefiting from parallelism in their code.
> >
> > The other trick here is to find a model that makes things *natural*, and
> > that means practically no explicit locking, less shared state, etc.
> >
> > The search for the model is meaningless unless it is used for
> > solving *practical* challenges. In that respect, one of my
> > favorite article is how implementation of a chess engine
> > influenced Cilk framework (which almost has the notion of a "block")
> > http://supertech.csail.mit.edu/papers/icca99.pdf
> >
> > Read it, I don't think we can be on the same page (and escape the
> > armchair philosophy trap) unless we are talking about practical
> > applications of the framework.
> >
> > Look at the chess example -- can the same be done with pure C? Sure!
> > Did Cilk make it less painful? Absolutely!
>
> my question was, what's naming your function pointers
> or not got to do with locking? i'm asking about the language
> construct, not the library er i mean "framework" and maybe runtime
> that goes with it.
It has nothing to do with locking. You are correct. However, the style
of programming that it allows lets you build lock-free computations
much more *elegantly*.
I use the word elegantly on purpose here. Since the discussion is
already in the personal taste territory all I can do to back my
claim is to note that regardless of whether blocks are closures
or not (they are not) they are true lambdas.
Are lambdas useful? I sure think so, but I don't think I can convince
you by any other means except for offering links to "LAMBDA the
ultimate..." set of articles:
http://library.readscheme.org/page1.html
Thanks,
Roman.