Benefit from concurrent programming (-languages)?
lately i'm trying to dive into the world of concurrent programming. at the beginning i thought the only reason of multicore processors is an improved performance of the programs. but now i'm not so sure anymore...

considering the fact that writing multithreading programs in most languages is diffucult, many tend to recommend exspecially designed languages like Erlang or Clojure as the language of choice for concurrent computing.
Sure, Erlang makes it a lot easier to write concurrent programs, but is it worth it?

i've look up some of the Erlang programs on shootout (yeah i know that microbenchmark doesnt say much...) and was surprised that many of the single-core C programs even outperform quad-core Erlang programs.

so my questions is, what are the advantages of languages like Erlang, Clojure etc?
why should i use a language, which makes it easy to write multicore program, when single-core programs in C/Java are even faster?

(i forgot to mention, these questions are only related to multicore machines, distributed computing is something different, and i can see Erlangs advantages here)
Benefit from concurrent programming (-languages)?
===

lately i'm trying to dive into the world of concurrent programming. at the beginning i thought the only reason of multicore processors is an improved performance of the programs. but now i'm not so sure anymore...

considering the fact that writing multithreading programs in most languages is diffucult, many tend to recommend exspecially designed languages like Erlang or Clojure as the language of choice for concurrent computing.
Sure, Erlang makes it a lot easier to write concurrent programs, but is it worth it?

i've look up some of the Erlang programs on shootout (yeah i know that microbenchmark doesnt say much...) and was surprised that many of the single-core C programs even outperform quad-core Erlang programs.

so my questions is, what are the advantages of languages like Erlang, Clojure etc?
why should i use a language, which makes it easy to write multicore program, when single-core programs in C/Java are even faster?

(i forgot to mention, these questions are only related to multicore machines, distributed computing is something different, and i can see Erlangs advantages here)