Lambda the Ultimate

inactiveTopic The Design of Parallel Programming Languages
started 8/10/2003; 3:20:02 AM - last post 8/12/2003; 8:52:54 AM
Ehud Lamm - The Design of Parallel Programming Languages  blueArrow
8/10/2003; 3:20:02 AM (reads: 2050, responses: 11)
The Design of Parallel Programming Languages
Richard Gabriel on the design of Qlisp.

The essay is worth your time for the first anecdote alone (it's about the John McCarthy...)

Gabriel's conclusion, [i]t would seem to make sense that as our sophistication increases with programming and software developments, so should the sophistication of our programming languages is worth considering. It contradicts the doctrine that good languages exhibit a small set of orthogonal features, of the kind found in Scheme or Haskell.

But then, what would you expect from someone who arguest that Worse Is Better?


Posted to history by Ehud Lamm on 8/10/03; 3:20:34 AM

Isaac Gouy - Re: The Design of Parallel Programming Languages  blueArrow
8/10/2003; 4:13:06 PM (reads: 834, responses: 0)
the doctrine
Language Size (in Patterns of Software) has a more ambivalent conclusion: "If there is some difference in effectiveness or usefulness between a small and large programming language, we will need scientific studies to tell us what they are. No amount of reasoning from first principles can inform half as well as can a few carefully done studies."

what would you expect from someone who argues that Worse Is Better?
Open minded curiousity?

Patrick Logan - Re: The Design of Parallel Programming Languages  blueArrow
8/10/2003; 6:08:03 PM (reads: 823, responses: 0)
what would you expect from someone who argues that Worse Is Better?

"Worse is Better" is a cultural observation, not a technical belief.

By observation, there are many examples that fit the "Worse is Better" pattern, where "worse" is the result of some measurement of a technical matter and "better" is a measure of some popularity or financial matter.

Luke Gorrie - Re: The Design of Parallel Programming Languages  blueArrow
8/11/2003; 1:00:20 AM (reads: 782, responses: 1)
Not wanting to make a habit of citing things that are dastardly hard to get hold of, but a wonderful article about parallel computing is the last chapter of The Connection Machine by Danny Hllis, titled "New Computer Architectures and Their Relationship to Physics or, Why Computer Science Is No Good."

I can't do it justice with a summary. Maybe someone else can.

Ehud Lamm - Re: The Design of Parallel Programming Languages  blueArrow
8/11/2003; 3:05:00 AM (reads: 772, responses: 0)
Maybe someone else can.

You are such a tease...

Luke Gorrie - Re: The Design of Parallel Programming Languages  blueArrow
8/11/2003; 3:32:40 AM (reads: 743, responses: 1)
My intention isn't to tease, but to prompt Darius Bacon if he's reading. :-)

Probably I should stop reading things that aren't freely available on the internet. It is extremely frustrating when I want to show things to other people. (Are you listening, ACM? :-))

I don't know if this makes it easier to find, but this article was also published in a journal. The citation is: International Journal of Theoretical Physics 21 (3/4): 255-262. (Shows why to expect computer science to begin to look like physics.)

Ehud Lamm - Re: The Design of Parallel Programming Languages  blueArrow
8/11/2003; 4:39:53 AM (reads: 769, responses: 0)
In fact, it is much more likely for physics to begin to look like CS...

Frank Atanassow - Re: The Design of Parallel Programming Languages  blueArrow
8/11/2003; 8:52:51 AM (reads: 699, responses: 0)
The assertion that good programming languages need a non-orthogonal set of primitives is nowhere supported in this paper. It begins with a problem, and suggests that it cannot be easily solved using a particular set of primitives, whose orthogonality is not discussed anywhere. Then it gives a laundry list of other primitives, whose orthogonality is also not discussed anywhere, and shows a shorter solution to the same problem using those primitives. Then it concludes that good languages should be non-orthogonal.

Where's the beef?

Luke Gorrie - Re: The Design of Parallel Programming Languages  blueArrow
8/12/2003; 4:50:49 AM (reads: 652, responses: 1)
A taste of my own medicine, eh Ehud? :-)

Here is the introductory paragraph to Hillis's article:

    Will we ever have a model of computation that is as powerful and beautiful as our models of physics? In this final chapter I argue that the development of such a model will be the direct consequence of the development of a new wave of computer architectures like the Connection Machine. The chapter is divided into three parts. In the first I point out that computer science is missing many of the qualities that make the laws of physics so powerful: locality, symmetry, invariance of scale. This is why physics is so nice and computer science is not. In the second section I give an example of physicslike laws that occur in a Connection Machine. In the final section I give some reasons for expecting more of this convergence of physical and computational law in the future.
His argument is that as more and more powerful computers are built from smaller and smaller parts, drastically new (non-von Neumann) hardware architectures will be needed to fit in with the laws of physics. New theoretical models of computation will then be needed to fit in with the new computer architectures. This will bring models of computation much closer to models of physics. Furthermore, this is exactly what has happened in the development of the Connection Machine.

Despite the "Why Computer Science is No Good" title, the article is very upbeat and exciting-new-world'ly.

That is no doubt a very poor summary. I know bugger all about physics or theoretical computer science, but I find the article very thought provoking. (I hope that these hard-to-get-at articles being filtered through internet-loudmouth types is not too much worse than their being left in obscurity.)

If you want to know more, I recommend buying Hillis's book/thesis The Connection Machine. There are about two dozen copies listed for between $2 and $10 at bookfinder, which is where I got my copy (and my copies of many other obscure/classic books for next to nothing). If you live outside the US, you may prefer searching through Alibris, where (AFAIK) all the books listed can be shipped internationally.

Okay Ehud, your turn to explain!

Ehud Lamm - Re: The Design of Parallel Programming Languages  blueArrow
8/12/2003; 6:37:28 AM (reads: 644, responses: 0)
It would requite a longish essay to elucidate my reasnoing, and it's not really related to programming languages, so I'll only give a hint as to what I am thinking about (not to mention the fact that I do want to write that essay someday, so I wouldn't want to kill the surprise).

I agree with Hillis that we are driven more and more towards distributed dynamic systems, that exhibit collective emergent behaviour. People are working hard inventing techniques for dealling with such systems, and we should consider them working in a newly emerging discipline, that includes things like evolutionary biology, certain parts of linguistics, computer science, dyanimic systems theory in both math and physics, and more.

Since the youngest and most related science is computer science, I hope that computer science will integerate the approaches, to provide a comprehensive set of tools and techniques.

Computer science is about analyzing processes (think algorithms, think networks, think reasnoing about knoweldge and uncertainty, think coalgerbas and modal logic).

Naturally, this new science will not be based solely on what we come to know as computer science, it will make heavy use of older tools like thermodynamics, probability, game theory etc. But it will evolve to be the analytical science of formal system and process analysis.

ferix - Re: The Design of Parallel Programming Languages  blueArrow
8/12/2003; 7:26:05 AM (reads: 599, responses: 0)
Naturally, this new science will not be based solely on what we come to know as computer science, it will make heavy use of older tools like thermodynamics, probability, game theory etc. But it will evolve to be the analytical science of formal system and process analysis.

Jesus, reading this sentence, I felt like I was reading Wolfram's "A New Kind of Science" all over again... <<shudder>>

Patrick Logan - Re: The Design of Parallel Programming Languages  blueArrow
8/12/2003; 8:52:54 AM (reads: 594, responses: 0)
In this final chapter I argue that the development of such a model will be the direct consequence of the development of a new wave of computer architectures like the Connection Machine.

And here is where we can tie this discussion into the one about symbol grounding. Will evolutionary approaches remain isolated experts, as with rule based systems? Or will they be generalized computational agents, as hoped?