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.
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?
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.
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...
<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
at
Snippets
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...
An essay about the past and the future of computer languages on the (very interesting) Paul Graham's website: “The Hundred-Year Language”. Excerpts: The evolution of languages differs from the evolution of species because...
[more]