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 <i>hard</i> 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.<p>Fear, and respect, the absurdly difficult challenge that is writing correct concurrent code, even when your compiler is helping you out.