

Computer Scientists Created the Parallel Programming Crisis - miriam
http://rebelscience.blogspot.com/2010/02/computer-scientists-created-parallel.html

======
dkersten
Oh, its not so bad as the article makes it out to be. As a concurrent/parallel
programming enthusiast (but by no means expert), I've been following the
developments in this area pretty closely (blogs, articles, books, SIGPLAN
papers, etc) .

IMHO the problem is that most programmers are so ingrained in their
technologies of choice that they get overwhelmed and discouraged when trying
fundamentally different paradigms and languages, so they get stuck with their
C's and their Javas and whatever other languages are popular, but not terribly
good at parallel programming. [1]

For example, I hear that Haskell, Erlang and Clojure do a fairly good job and
managing the complexities of concurrent and parallel programming - why aren't
more people using these languages then? [2]

The real win over the complexity of programming parallel software, IMHO, comes
from the dataflow paradigm, which can provide auto-parallelism at a much
larger scale than even functional languages (which can only do this when they
do not modify state). For some reason dataflow doesn't seem to get much
attention though, yet available research suggests that it can, indeed, solve
the parallelism problem - or at least, a lot more than other languages have so
far. [3]

For what its worth, the programming language used by Airbus and the Eurocopter
is a dataflow language - though I don't know if it automatically parallelizes
or not.

[1] Disclaimer: this happens to me too.

[2] Disclaimer 2: I have, so far, only tried one of the mentioned languages.

[3] Actually, the author agrees with me on this - Project COSA is,
essentially, a dataflow system and was actually a big influence for me, though
I'm not sure that it (modeling a nervous system, of sorts) is the way I'd
handle it, but then again, hes probably more qualified than I am.

~~~
gtani
@[2] I think there's 6 or 7 leading families of functional lang's right now:

\- you mention Haskell, Erlang , Clojure,

\- plus scala, F#, ML family(ocaml), scheme family, common lisp family

\- lots of complaints on tooling: clojure's emacs and vim plugins engender a
lot of questions on IRC and the google gropu, same for scala's eclipse,
netBeans and intellij plugins (many folk say, or said netBeans caused the
least anguish for both languages, or emacs /ELPA, swank-clojure)

\- books: Erlang, scala and haskell have excellent, up-to-date books, clojure
they have several in preparation (the Fogus/Houser Manning EAP beta book looks
really promising).

\- open source/freely available content:

<http://www.realworldhaskell.org/blog/>

<http://www.freetechbooks.com/functional-programming-f34.html>

<http://programmingscala.com/>

<http://books.couchdb.org/>

