Race-Conditions

How Multicore CPUs Killed Object-Oriented Programming
reading time: 35 minutes
OOP’s reference semantics were manageable in single-threaded code. But when CPUs went multicore in 2005, hidden shared state went from ‘confusing’ to ‘catastrophic.’ This is why Go, Rust, and modern languages abandoned default references for value semantics.