Our great sponsors
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
1. It's typically at least as fast as C, unlike C++/Rust
2. You can do type introspection (and switching) during compile-time, and it's not just some stupid TokenStream transformer, you really have type information available, you can do if/else on the presence of methods, etc.
3. There are no generics, but your functions can accept anytype, which is still type-safe. See https://github.com/ziglang/zig/blob/9c05810be60756e07bd7fee0... and note the return type is "computed" from the type of the input.
4. Types are first-class values (during comptime), so any function can return a new type, this is how you get generic types, without (syntax/checking) support for generics.
5. You can easily call anything which does not allocate in these comptime blocks.
6. There's @compileError which you can use for custom type assertions -> therefore, you have programmable type-system.
Bun, a JavaScript runtime (uses WebKit as an engine I believe) is written in Zig. They seem to be doing alright:
https://bun.sh/
A game engine https://machengine.org is being written in zig, there's also https://microzig.tech as zig is well suited to embedded development.
I don't know about "daily" right now (I've had to take a break due to obligations), but I'm working on a modern implementation of the Self programming language with actor capabilities: https://github.com/sin-ack/zigself
It's nowhere near usable yet, but Zig has been a joy to work with for over a year, and I can definitely see myself using it for a big piece of software.
I use Zig for all my hobby projects:
* A pixel art editor https://github.com/fabioarnold/MiniPixel
* A Mega Man clone https://github.com/fabioarnold/zeroman
* Zig Gorillas https://github.com/fabioarnold/zig-gorillas
And most recently I had the opportunity to build a visualization for TigerBeetle's database simulator: https://sim.tigerbeetle.com
Before I was using C++ and Zig has been an improvement in every way.
I use Zig for all my hobby projects:
* A pixel art editor https://github.com/fabioarnold/MiniPixel
* A Mega Man clone https://github.com/fabioarnold/zeroman
* Zig Gorillas https://github.com/fabioarnold/zig-gorillas
And most recently I had the opportunity to build a visualization for TigerBeetle's database simulator: https://sim.tigerbeetle.com
Before I was using C++ and Zig has been an improvement in every way.
I use Zig for all my hobby projects:
* A pixel art editor https://github.com/fabioarnold/MiniPixel
* A Mega Man clone https://github.com/fabioarnold/zeroman
* Zig Gorillas https://github.com/fabioarnold/zig-gorillas
And most recently I had the opportunity to build a visualization for TigerBeetle's database simulator: https://sim.tigerbeetle.com
Before I was using C++ and Zig has been an improvement in every way.
I took a year off, and one of the things I did was learn Zig. I've built a number of libraries, including one of the currently more popular HTTP server libraries (https://github.com/karlseguin/http.zig).
A number of my libraries are used for https://www.aolium.com/ which I decided to write for myself.
I try to write a bit every day with the benefit that I can "waste" time digging into things or exploring likely-to-fail paths.
Fast and compact WASM builds are builtin to Zig's toolchain:
https://github.com/mattdesl/wasm-bench
It shouldn't be hard to make Zig go to top place then, which is great opportunity to shine, given that they are still missing Zig entries,
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
https://www.techempower.com/benchmarks/