Not really; Haskell and Erlang can give C++ a run for its money, and if the problem benefits from parallelisation, they can easily outdo C++. Purely functional languages scale better with multiple threads and cores since they don't deal with thread synchronisation due to not allowing mutable state. It's a very unintuitive way of programming, but you end up with less code, less bugs and often better performance.