2. The Moor’s Law The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years. But, this is not true for single CPU unit anymore More transistors mean more CPU cores, not the higher frequency
3.
4.
5. Memory corruption Nightmare of C and C++ programmers No doubts for Java, C# and many other programmers (thanks to GC )
9. The real world is not a pure function References (identities) point at different values at different points of time
10. How? Vars – mutable local thread storage (thread isolation) Refs – mutable shared storage called Software Transactional Memory (STM). All the changes are done within transaction
11. How (part 2)? Agents –mutable shared storage changed asynchronously, but sequentially. Atoms – mutable shared storage changed synchronously and sequentially.
13. Useful links www.clojure.org InfoQ: Are We There Yet? InfoQ: Perception and Action: An Introduction to Clojure's Time Model Time, identity, and transition in Clojure « goodmike blogs here