3 ms·
It would be awesome to understand the reasons zig was utilized. My guess is that it is about the language tooling, but it would be nice to hear from the author
by gorjusborg 4y ago
It would be awesome to understand the reasons zig was utilized.
My guess is that it is about the language tooling, but it would be nice to hear from the authors themselves.
- galangalalgol 4y agoLooking at the top 5 they used zig,zig,rust,odin,asmscript Rust is the highest level represented. I'm guessing the level of control needed to hit the tight constraints of wasm-4 preclude anything that you wouldn't use for a microcontroller. C and c++ would work too, but what fun is that?
- dom96 4y agoMy guess is it comes down to how much the Zig community (in particular I've seen Zig's VP of community mention it) has advertised it.
- kristoff_it 4y agoYeah, I did. The previous WASM-4 Jam had Zig and C tie at the top followed by Rust. Other languages also had more representation than in this last one, maybe also because of a greater overall number of entries (44 total). https://youtu.be/7ydnjX999kk?t=894 https://youtu.be/7ydnjX999kk?t=894 I also think that there is a correlation between the majority of participants being from Europe and Zig. At the moment almost all our meetups are in Europe.
- deleted 4y ago[deleted]
- quic5 4y agoI can only speak for myself here but of all languages I've tried for WASM-4 (WAT, C, Rust & Zig) it is the most productive one for me. I really enjoy the balance of safety and control in Zig. I can build using Debug mode during development, turning nearly all my bugs into crashes which are easily fixable using in-browser source-level debugging. But in Release-Small mode the result is fast and more importantly really small since there's a 64kb cartridge limit. Another factor is the Zig Standard Library which designed to be portable and usable on freestanding targets. I can not emphasize enough how pleasant this is. For example I can just use a `std.heap.FixedBufferAllocator` to back a `std.ArrayList` with no problem. The comptime feature of Zig also comes in handy when you have to minimize code size. The seamless C interop furthermore improves my productivity since I can just use any C code I like. I've used a C perlin noise library in a previous game for example, saving me a lot of time. Plus I've used Zig for the previous WASM-4 jam and just liked it so I didn't bother trying any other language.