Programming-Paradigms
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.
Go's Value Philosophy: Part 3 - Zero Values: Go's Valid-by-Default Philosophy
reading time: 15 minutes
In Python, undeclared variables don’t exist. In Java, local variables can’t be used before assignment. In Go, declaration creates a valid value. There is no uninitialized state - every value works from the moment it’s declared.
Go's Value Philosophy: Part 1 - Why Everything Is a Value, Not an Object
reading time: 32 minutes
In Python, everything is an object. In Java, everything is a class. In Go, everything is a value. These are fundamental design philosophies that shape how you write concurrent code, manage memory, and reason about performance.