I can keep quoting from the same book:
> Here’s the good news: your Erlang program might run n times faster on an n-core processor—without any changes to the program.
Sounds hopeful - and they've qualified it with might which is good.
> But you have to follow a simple set of rules.
If you want your application to run faster on a multicore CPU, you’ll have to make sure that it has lots of processes, that the processes don’t interfere with each other, and that you have no sequential bottlenecks in your program.
Oh right, so as long as I have no dataflow dependencies it'll scale easily - but that's true for any language. The problems we have are when there are dependencies - and Erlang doesn't have a good solution for that in my opinion.
> Even if your program started as a gigantic sequential program, several simple changes to the program will parallelize it.
Several simple changes can parallelize an arbitrary sequential program? That's amazingly strong and obviously incorrect.
Also "you can get parallel from concurrent but not the other way around" that's not true! Vector instruction sets allow parallelism but not concurrency.