On the Windows platform F# is a good choice if you like .NET
F# is the closest to a functional programming languagefunctional programming language of all the languages from Microsoft. Functional progamming languages (like HaskellHaskell and MLML ) by their nature encourage a programming style (idiomatic expressions) that the compiler can easily translate into code that can use multiple cores/CPUs.
For an example of how the Async and Paralell design patterns encourage this see : http://blogs.msdn.com/b/dsyme/archive/2010/01/09/async-and-parallel-design-patterns-in-f-parallelizing-cpu-and-i-o-computations.aspxhttp://blogs.msdn.com/b/dsyme/archive/2010/01/09/async-and-parallel-design-patterns-in-f-parallelizing-cpu-and-i-o-computations.aspx
Perhaps a specific example would be helpful. This code will compute the first 40 FibonacciFibonacci numbers concurrently:
let rec fib x = if x <= 2 then 1 else fib(x-1) + fib(x-2) let fibs = Async.Parallel [ for i in 0..40 -> async { return fib(i) } ] |> Async.RunSynchronously