John Carmack on Parallelism
This is the interesting bit
“Modify some of your utility object code to return new copies instead of self-mutating, and try throwing const in front of practically every non-iterator variable you use”.
http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/