Monday, September 22, 2008

101 Parallel Languages (Part 1)

A while ago, at a “technical” meeting of the Grand Dukes and Peers of the IBM realm, the Corporate Senior VP of Software was heard to comment (approximately) “If all these new processors are going to be parallel, don’t our clients need a new programming language to deal with this?”

This, of course, produced vigorous agreement and the instantaneous creation of a task force to produce a recommendation. Since even the whim of a Senior VP is a source of funding, the recommendation was, of course, running on rails to a preordained conclusion: Fund research and/or productization of research in some parallel language.

I happened to end up participating in that task force (this was far from automatic). In the airport on the way to its opening meeting, I happened to run into Professor Jim Brown of UT, who’s been doing parallel at least as long as I have, with more emphasis on software than I. Since I knew what his reaction was going to be, I couldn’t resist; I told him why I was going. I wasn’t disappointed. He began muttering, stamped around in a circle in frustration, then whipped around and pointed his finger at me with beetled brows and a scowl, saying “You don’t agree with that, do you?”

I surely didn’t. I told him I was arriving carrying the result of about one evening of web searching: A list of 101 parallel programming languages, all in active development, all with zero significant use. (Spreadsheet here.)

He smiled, I smiled back, and we went on our respective ways.

Why that mutual reaction? The issue is certainly not the underlying sentiment expressed by that Senior VP. That’s right on target, a completely appropriate concern: Don’t we (not just IBM) really need to provide as much help as possible to customers, to deal with these changes? It’s also clearly a correct insight that if your company helps more than others, you will win.

The issue is “programming language.” And history. And current practice.

-- To be continued, in my next posting. --

(I’m trying the experiment of breaking up long streams of thought into multiple posts. The huge ones up to now seem ungainly. Comments on that?)

5 comments:

Anonymous said...

i have noticed a significant uptick in Erlang buzz among the blogosphere, especially since the publication of a new book from the Pragmatic Bookshelf. So it seems to be on a minor resurgence. no idea if it will mean anything in the mainstream.

Anonymous said...

I prefer one larger post. If you're expressing one idea, and that idea happens to take a thousand or two words to explain clearly, well so be it. That is, after all, quite a normal essay length.

To what advantage is breaking a unitary thought into three pieces, forcing us to navigate between them whilst trying to comprehend a singular whole, and monitor three different places for comments?

Anonymous said...

"all with zero significant use", 'nuff said

Greg Pfister said...

Thanks for the feedback, Curt. Nobody else has said anything, and this was an earlier post, so several other posts use the multi-element format.

I have tried to make the navigation easier with links between posts.

Also, I think if you click the "subscribe by email" link below the comment box, you get comment updates sent to you. I don't know for sure, since I haven't tried it -- I get them all by email. (Had a few small spam problems requiring deletions.)

Kevin Cameron said...

I don't think any "new" languages are necessary, just some clean-up on the ones we have.

I would consider HDLs (used in hardware design) parallel languages - just somewhat ugly. However if you pull out the useful abstractions and add them to a decent language like C++ you can simplify things considerably -

http://parallel.cc

Of course it helps if you are interested in designing hardware too - which might appeal to IBM ;-)

Post a Comment

Thanks for commenting!

Note: Only a member of this blog may post a comment.