I'm aware of the differences but writing your code in a functional / reactive style makes parallelism much easier.
List.map can be safely parallelized in a functional language where as it cannot in an imperative language. That's what I'm getting at.
In a functional language (lets say haskell) you could switch the implementation of map to a parallel one and the community would probably accept it because there are a few edge cases involving doing something with a monad where it would break but 99% of code would work. If you did the same thing in Java/C/C++/C#/Python/Ruby it would break massive amounts of code.
In theory they have absolutely nothing to do with each other, but in practice they have a lot to do with each other.
List.map can be safely parallelized in a functional language where as it cannot in an imperative language. That's what I'm getting at.
In a functional language (lets say haskell) you could switch the implementation of map to a parallel one and the community would probably accept it because there are a few edge cases involving doing something with a monad where it would break but 99% of code would work. If you did the same thing in Java/C/C++/C#/Python/Ruby it would break massive amounts of code.
In theory they have absolutely nothing to do with each other, but in practice they have a lot to do with each other.