# What is the status of async with Zig?

**URL:** <https://ziggit.dev/t/what-is-the-status-of-async-with-zig/5715>\
**Category:** Explain\
**Tags:** language\
**Created:** [August 22, 2024, 8:51am UTC](https://ziggit.dev/t/what-is-the-status-of-async-with-zig/5715 "2024-08-22T08:51:15Z")\
**Posts on this page:** 1\
**Showing post:** 49

<div class="post-metadata">

**Author:** ![dee0xeed](https://ziggit.dev/letter_avatar_proxy/v4/letter/d/3ab097/32.png) [@dee0xeed](https://ziggit.dev/u/dee0xeed)\
**Post date:** [September 5, 2024, 9:41am UTC](https://ziggit.dev/t/what-is-the-status-of-async-with-zig/5715/49 "2024-09-05T09:41:37Z")

</div>

> [@const-void](#):
>
> async in zig appeals to my sense of laziness

Funny, I’v got more or less similar thoughts/feeling about RAII. Externally it looks just like this - a lot of hard mental work done by a language/compiler designers, but for what? Just to let lazy/capricious/beginner/forgetful programmers omit cleanup code? Is it really THAAAT hard to write cleanup code explicitly? In C I’m quite happy with [`goto __cleanup`](https://ziggit.dev/t/c-goto-vs-zig-defer-errdefer-break/2952/4) way, In Zig we have `defer/errdefer`. The latter a bit harder to grasp imo, but we have some [sensible rules](https://ziggit.dev/t/managing-file-reading-closing-buffer-allocation-and-deallocation/2389/9).

---

_[View the full topic](https://ziggit.dev/t/what-is-the-status-of-async-with-zig/5715)._
