Posts

12 of 12 posts on this page

How Multicore CPUs Killed Object-Oriented Programming

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

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 Interfaces: The Type System Feature You Implement By Accident

You write a struct with a Write method. Three months later, you discover it implements io.Writer. You never declared this. How did it happen? Exploring Go’s implicit interfaces and the power of accidental implementation.

Go's Value Philosophy: Part 1 - Why Everything Is a Value, Not an Object

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.

Go's Value Philosophy: Part 2 - Escape Analysis and Performance

The Go compiler decides whether your values live on the stack or heap through escape analysis. Understanding this mechanism explains Go’s performance characteristics and helps you write faster code without sacrificing clarity.

The Python Paradox: How Python Dominates Big Data Despite the GIL

Discover why Python dominates big data despite the GIL: Python coordinates, C/Rust/JVM executes. Learn how NumPy, pandas, Polars, and PySpark bypass the GIL for true parallelism.

GPL & AGPL: Freedom Through Copyleft - Complete Guide to Viral Licensing

Why copyleft licenses ‘infect’ derivative works, how GPL differs from permissive licenses, and when viral licensing protects community contributions from proprietary capture

The Price of Everything Being an Object in Python

All Python developers know that everything in Python is an object. But at what cost? A deep dive into Python’s heap-only memory model and the 28-byte overhead of storing a simple integer.

Apache License 2.0: When Patent Protection Matters - Complete Guide

Why Apache 2.0 matters for patent-heavy projects, how it differs from MIT, and when explicit patent grants protect your users and contributors

Why Choose the MIT License? A Comprehensive Guide to Open Source Licensing

Why MIT became the most popular open-source license, when to choose it over GPL/Apache/BSD, and a decision framework for selecting the right license for your project