I was re-exploring that issue recently. It wasn&#x27;t obvious to me which of two strategies I commonly saw are best: extend existing languages with parallel constructs as in Cilk&#x2F;C, ParaSail&#x2F;Ada, or Lime&#x2F;Java; create custom languages + compilers like Cray&#x27;s Chapel or academic Triolet whose output cleanly integrates with apps in an existing language. My uncertainty comes from the fact that general-purpose languages founded in sequential use might be too hard to max out on arbitrary multi-core &amp; CPU architectures. What&#x27;s your opinion on which looks to be the best route so far?<p>Cilk
<a href="http:&#x2F;&#x2F;supertech.lcs.mit.edu&#x2F;cilk&#x2F;" rel="nofollow">http:&#x2F;&#x2F;supertech.lcs.mit.edu&#x2F;cilk&#x2F;</a><p>ParaSail
<a href="http:&#x2F;&#x2F;www.embedded.com&#x2F;design&#x2F;other&#x2F;4375616&#x2F;ParaSail--Less-is-more-with-multicore?page=0" rel="nofollow">http:&#x2F;&#x2F;www.embedded.com&#x2F;design&#x2F;other&#x2F;4375616&#x2F;ParaSail--Less-...</a><p>Lime Compilation
<a href="http:&#x2F;&#x2F;researcher.watson.ibm.com&#x2F;researcher&#x2F;files&#x2F;us-bacon&#x2F;Dubach12Compiling.pdf" rel="nofollow">http:&#x2F;&#x2F;researcher.watson.ibm.com&#x2F;researcher&#x2F;files&#x2F;us-bacon&#x2F;D...</a><p>Chapel
<a href="http:&#x2F;&#x2F;chapel.cray.com&#x2F;overview.html" rel="nofollow">http:&#x2F;&#x2F;chapel.cray.com&#x2F;overview.html</a><p>Triolet
<a href="http:&#x2F;&#x2F;impact.crhc.illinois.edu&#x2F;shared&#x2F;Papers&#x2F;dissertation-rodrigues.pdf" rel="nofollow">http:&#x2F;&#x2F;impact.crhc.illinois.edu&#x2F;shared&#x2F;Papers&#x2F;dissertation-r...</a>