Fearless Concurrency: Clojure, Rust, Pony, Erlang and Dart
I have a, perhaps unjustified, concern at the loss of fear around things like concurrency. People keep substituting appeasing the compiler with actual thinking around hard problems. But until the halting problem is solved at a compiler level (at a level that can account for runtime cases), you should always have a healthy amount of fear when writing concurrent code.Fear, and respect, the absurdly difficult challenge that is writing correct concurrent code, even when your compiler is helping you out.