Object Oriented Programming

Object Oriented Programming is really two different ideas: message-passing and compile-time hierarchies. The former informs modern distributed systems and the latter is the basis of popular mordern programming architectures. Problem Small-talk / Message Passing Lineage Modern / Compile-Time Lineage Encourages everything to be solved with … Message passing Classes Integrating two existing pieces of code Proxy Objects, Dynamic Dispatch Adapters Extending code without modifying original code … Delegation Inheritance Calling a method implementation is … Asynchronous and knowable only at runtime Synchronous and compile-time known Iterating on Program Development by … Updating one object at a time while preserving state, Limited type checking Compile-time, Static type checking, Update full program by reseting state While both are technically about objects, one focuses on using mechnanisms of messages to solve problems, while the other focuses on using classes and inheritance to solve problems. ...

July 24, 2025 · 9 min

Event Sourcing

Event Sourcing departs from traditional state-centric data management. Instead of treating the current state of entities as the primary source of truth, Event Sourcing recognizes that the sequence of changes—the events—contains richer, more complete information about what actually happened in your system. Consider the difference between a bank account balance and a bank statement. Traditional CRUD systems store the equivalent of just the current balance: Account 12345 has $1,247.83. Event Sourcing stores the complete statement: ...

July 6, 2025 · 11 min