Why would the other fade away and other become big? Why can't functional and OOP coexist? Scala has both ways and it's awesome. Also functional programming doesn't take the hard part out of parallelizing. If you don't know how to make thread safe code in OOP then I doubt you could make it as a functional programmer(or you need to study more ). Threading issues come from accessing shared resources and operations that are dependent on each other. Functinal programming doesn't magically solve those.
The thing with pure functions (which is the only thing you're allowed to use in a pure functional language) is that there are no side effects, pure functions can always be executed in parallell unless they explicitly depend on eachother, in a pure functional language there is no such thing as shared resources or state and function interdependance is limited to the return values of the functions which makes it trivial for the VM/Compiler to parallelize the software automatically.
It doesn't magically solve the problem, it just rips away the tools used to create the problem and forces the programmer to do things differently. (This is why pure functional languages are "hard" to use)
(Most mainstream functional languages aren't pure though and does provide tools that allow the programmer to write imperative code)
Many modern c++ compilers allow you to mark functions as pure which allows the compiler to perform far more optimizations on them (__attribute__ ((pure)); for g++)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!