![](/static/61a827a1/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/028151d2-3692-416d-a8eb-9d3d4cc18b41.png)
Rust is dead. Haven’t you heard? We’re rewriting everything in Zig now.
I don’t think the broader zig community has the rewrite spirit that the rust community has. For Rust, this mentality was also motivated by an increased security, which zig does improve over plain C, but not to the extent Rust does.
To preface anything that follows, I’m not a developer, so this is little-informed opinion.
Writing in rust just doesn’t seem very enjoyable. It’s a language with security in mind, which is a good thing. However, zig also isn’t inherently insecure (though it doesn’t provide the same security guarantees) and coding in it just seems so much more pleasant. To me, the language makes more sense, which is also something I like about Go. Even manual memory allocation looks well-designed. At no point did I look at zig and thought “oh, that’s an odd choice”.
The language isn’t frozen yet though, so everything you write in it may require changes later on, so I wouldn’t recommend it for anything in production. Notably, there’s no built-in async or something comparable. If you’re fine with these limitations, go ahead and try it out, and if you feel like it, maybe even rewrite an existing tool in it.
ncdu
for example is such a tool where the original author rewrote it in zig for version 2.
While still not correct with that in mind, the “initially” refers to a sound server a that sits above ALSA. There were others before Pulse, for example the aRts daemon and ESD. However, these were mostly used within their respective Desktop Environment while the rest used ALSA directly, so Pulse being the first Sound Server being widely used under Linux is one way to look at it. JACK on the other hand never left the (semi)professional niche I think.
In fairness to Pulse, Pipewire built heavily on its foundation; in fact, is initially was only supposed to be “Pulseaudio for video”, and Pulse led to huge improvements in ALSA and audio drivers. Pipewire simply couldn’t have worked as well back then as it does today if it had been released when Pulse was initially.