It’s just data

Parallelism Done Right

Like most, I read the Hundred Year Language last week, but didn't have something meaningful to add, so I didn't comment on it at the time.  But it has bothered me...

Finally it came to me.  I disagree about the comments on parallelism.  Much of the excitement in programming languages these days is around concepts like Continuations and Closures which are complicated to explain but essentially deal with fast context switching.

Languages like C# are moving towards doing this statically, Python support for this is available.  With Perl 6 it looks like it is moving from something done 'inside' to something exposed.  And, of course, languages like LISP and Scheme have always had it.

Some of these attempts may fail, but within a few decades, if not years, something will emerge in this space.  And what will emerge is parallelism done right.

Hundred Year Language

Hundred Year Language... [more]

Trackback from Julia Lerman Blog


Sam, are you disagreeing with the statements "One thing that does seem likely is that most opportunities for parallelism will be wasted." and "parallelism won't pervade the programs that are written in a hundred years"?  Or with the assertion that the C language lineage is an evolutionary dead end?

Posted by Gordon Weakliem at

Gordon, what I am disagreeing with is "parallelism will be something that is available if you ask for it explicitly, but ordinarily not used.".

When I pipe the output of one command into the input of another, I am not thinking "lets do these two things in parallel", I'm just letting the OS handle the connections.

Similarly, in languages with "yield" statements, the thought isn't to make something parallel, but simply to let the compiler manage the state and context.

Posted by Sam Ruby at

RSS Content Pipelines or Tuple Spaces

I'm just now catching up to Clemens Vasters' post on content pipelines. The kind of architecture that he is describing is precisely the kind of architecture that I'd like to see a next generation RSS aggregator use. On interesting variation on this...

Excerpt from Ted Leung on the air at

Concurrency Now and Then

<p>Concurrent programming is the single most difficult systems subject to teach. Not because
the concepts are so difficult, as almost every student gets the basics quickly,
even continuations and closures. What makes it difficult is... [more]

Trackback from All Things Distributed



Snippets I've found recently: Jakob Nielsen: Low-End Media for User Empowerment, I.e. The KISS principle works for usability. teknoel has a variety of differing navigation experiments. [via Zeldman] Sam Ruby: Parallelism Done Right -> Google search...

Excerpt from BitWorking at

to be read.... ...

Excerpt from Python Info at

What branch of the tree is safer?

An essay about the past and the future of computer languages on the (very interesting) Paul Graham's website: &ldquo;The Hundred-Year Language&rdquo;. Excerpts: The evolution of languages differs from the evolution of species because... [more]

Trackback from Jean-Philippe Leboeuf Notebook


Add your comment