# core.async

9 Hacker News commenters recommended core.async and 4 criticized it, November 2025 to November 2026. It was recommended in 6 of 13 months.

**Verdict:** Recommended for clean channel-based concurrency on immutable data. Critics say the go state machine makes some debugging techniques useless.

## Why people recommend it

- Clean channel-based concurrency model (3 comments): "communicating only via core.async channels (CSP inspired) using immutable data structures is pretty neat" ([source](https://news.ycombinator.com/item?id=48380417)) "wrapping async await functions with CSP was a better way to handle this" ([source](https://news.ycombinator.com/item?id=48060593)) "great concurrency primitives, core.async" ([source](https://news.ycombinator.com/item?id=46272870))
- Makes thread coordination easy to follow (2 comments): "Good ones, like core.async, make it easy to understand how threads and the like are glued together" ([source](https://news.ycombinator.com/item?id=49881431)) "core.async can be a really nice way to wrangle together tasks" ([source](https://news.ycombinator.com/item?id=47616758))
- Rock solid and well liked (2 comments): "Clojure core.async, http libs and Java VM are so rock solid" ([source](https://news.ycombinator.com/item?id=48059839)) "core.async is simply wonderful" ([source](https://news.ycombinator.com/item?id=47616654))
- Async/await style before host language (2 comments): "how cool it is that you can get new language features before they are available in the host language" ([source](https://news.ycombinator.com/item?id=48060138)) "it worked: a few quirks but we did have async/await since more than a decade" ([source](https://news.ycombinator.com/item?id=48061944))

## What people warn about

- Go state machine hinders debugging and observability (2 comments): "the use of the go state machine renders certain debugging techniques useless" ([source](https://news.ycombinator.com/item?id=48072127)) "For me it also lacks observability." ([source](https://news.ycombinator.com/item?id=48061065))
- Critics prefer CML or manifold alternatives (2 comments): "Clojure's core.async could be less async and more CML in my taste." ([source](https://news.ycombinator.com/item?id=48814049)) "same for core.async vs manifold" ([source](https://news.ycombinator.com/item?id=48082718))
- Quirks and minor drawbacks (2 comments): "it worked: a few quirks but we did have async/await since more than a decade" ([source](https://news.ycombinator.com/item?id=48061944)) "I'd say core.async's are pretty minor compared to most other systems." ([source](https://news.ycombinator.com/item?id=48068559))

## Alternatives hackers recommend

- [Tokio](https://hackerapproved.com/p/tokio.md): 57 recommend
- [Akka](https://hackerapproved.com/p/akka.md): 12 recommend
- [ZIO](https://hackerapproved.com/p/zio.md): 11 recommend
- [Trio Python library](https://hackerapproved.com/p/trio.md): 10 recommend
- [gevent](https://hackerapproved.com/p/gevent.md): 7 recommend

## Cite as

Hacker Approved, "core.async", https://hackerapproved.com/p/core-async/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
