Products · Pattern or everyday thing
Async programming
Raised as a usability problem by 14 people on Hacker News over 12 years (2015–2026), in 12 threads.
No issue was raised by at least 3 people in 3 threads this year.
Every issue, all time, most people first
Async/await hides what is happening, confusing when it breaksUnreviewed
20152026- Async/await is confusing to use in every language that implements it2025-12-08
- Author found async/await concepts confusing until they wrote their own scheduler2024-11-23
- Async/await hides what's really happening, so it is confusing when it breaks2024-05-23
Async code needs explicit yields and has broken stack tracesUnreviewed
20152026- Async stack traces are cluttered and hard to read2021-02-12
- Async code runs out of order, making it more confusing to debug2019-08-12
- Async code requires explicit yields and is hard to debug, with broken stack traces2015-02-03
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 12 complaints
- Hard to learn and unintuitive for programmers2026-04-22
- Hard to learn and unintuitive for the person writing it2026-04-22
- Async/await is confusing to use in every language that implements it2025-12-08
- Author found async/await concepts confusing until they wrote their own scheduler2024-11-23
- Async/await hides what's really happening, so it is confusing when it breaks2024-05-23
- Async explanations are buried in jargon that is hard to understand2023-08-31
- Async stack traces are cluttered and hard to read2021-02-12
- Async functions are colored, so they only work well with other async code, and async/await adds noise2020-12-23
- Async code runs out of order, making it more confusing to debug2019-08-12
- Rejections get swallowed or mishandled in large real-world codebases, making bugs hard to fix2016-06-02
- Catch-all try-catch makes it hard to localize different flow branches2016-06-02
- Async code requires explicit yields and is hard to debug, with broken stack traces2015-02-03