I built the same concurrency library in Go and Python, two languages, totally different ergonomics

Posted by kwargs_@reddit | programming | View on Reddit | 27 comments

I’ve been obsessed with making concurrency ergonomic for a few years now.

I wrote the same fan-out/fan-in pipeline library twice:

Both solve the same problems (retries, backpressure, parallel enrichment, fan-in merges) but the experience of writing and reading them couldn’t be more different.

Go feels explicit, stable, and correct by design.
Python feels fluid, expressive, but harder to make bulletproof.

Curious what people think: do we actually want concurrency to be ergonomic, or is some friction a necessary guardrail?

(I’ll drop links to both repos and examples in the first comment.)