Language Design

Async/Await Is a Trap. Zig Just Solved Concurrency By Going Backwards.

The industry sold us async/await as the only path to high-performance I/O. But as Zig’s new io.threaded proves, we didn’t need a new concurrency modelβ€”we just needed languages that don’t punish us for using threads. It’s time to admit the async revolution was a complexity trap.

The JVM Was Never the Point: Why Jolt Changes Everything for Clojure

Jolt is a Clojure compiler that targets Chez Scheme, producing small, self-contained native binaries without the JVM. It challenges the assumption that Clojure’s identity depends on its runtime. For developers, it means fast startup, tiny deploys, and the same powerful semantics. The real disruption: the JVM was always optional.

Java’s ‘Everything Is an Object’ Promise Just Died. Here’s What That Means.

JEP 401 merged into OpenJDK master, bringing value objects that eliminate identity overhead. The performance gains are real, but the hidden disruption is that code relying on object identity β€” == comparisons, synchronization, weak references β€” will silently break. Java’s ‘everything is an object’ era is ending.

The Single Most Dangerous Lie Your Programming Language Tells You

For decades, we’ve been sold the lie that programming languages should give us maximum freedom. But the truth is, the most permissive languages are the most dangerous. They offload the burden of correctness onto you, guaranteeing chaos at scale. The real measure of a language isn’t features β€” it’s how well it prevents you from writing unreasonable code. Choose languages that protect you, not ones that trust you.