I blame C more than I would praise Erlang.<p>Java has a threads implementation that actually works which is a lot more than you can say about C&#x2F;pthreads, although lately they&#x27;ve been tuning up the C memory model.<p>It may not be easy to write multithreaded code in Java but it is definitely possible.  It&#x27;s actually pretty easy in a lot of cases if you use the Executor,  I think most of the carping you will hear about Java these days is because people think they are being clever using Fork-Join or work stealing or actors when in fact they are just screwing up.