Get the latest tech news

Distributed systems programming has stalled


Over the last decade, we’ve seen great advancements in distributed systems, but the way we program them has seen few fundamental improvements. While we can sometimes abstract away distribution (Spark, Redis, etc.), developers still struggle with challenges like concurrency, fault tolerance, and versioning. There are lots of people (and startups) working on this. But nearly all focus on tooling to help analyze distributed systems written in classic (sequential) programming languages. Tools like J…

To correctly implement such a protocol, we need to explicitly assign specific logic to these roles, since quorums must be determined on a single leader and each worker must atomically decide to accept or reject a proposal. Writing logic that spans several machines right next to each other, in a single function Surfacing semantic information on distributed behavior such as message reordering, retries, and serialization formats across network boundaries Explicit control over placement of logic on machines, with the ability to perform local, atomic computations Rich options for fault tolerance guarantees and network semantics, without the language locking us into global coordination and recovery protocols

Get the Android app

Or read this on Hacker News