I read and thought about it a bit. In the multi-core future, it seems that functional languages will become more popular. I relate to functional programming. My only exposition was academic, and nothing was complicated enough to really put this class of language in its ranks.
So, as I understand it, pure functions can be easily and transparently parallelized. This is a great feature, as it means there is no problem writing the stream code. However, it does not seem to help much in the serial code.
Example: fooN( ... (foo3(foo2(foo1(0)))))
Successive calls like this seem like a common, and sometimes inevitable, problem. For me, this is the reason why parallelization is so complicated. Some tasks are simple (or seem) very consistent. Does "functional thinking" have the ability to better decompose some seemingly sequential tasks? Do existing functional languages have transparent mechanisms for better parallelization of high-serial code? Finally, functional languages are inherently more parallel than OO or imperative languages, and why?
parallel-processing functional-programming
patros
source share