this post was submitted on 27 Jan 2025
560 points (96.1% liked)

Programmer Humor

20215 readers
1918 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] stetech@lemmy.world 2 points 3 days ago (2 children)

As someone who knows neither of the three: Why Zig over Rust as a Cpp replacement?

[–] ZILtoid1991@lemmy.world 2 points 2 days ago (1 children)

Rust has its own issues.

Before the memory safety craze, Rust was hyped as a functional programming language, meaning it not only has lambdas and monads, but also const by default, which will force you to rethink all your programming decisions. Also no classes, so you do even more rethinking.

I don't just rethink my programming decision but all my life decisions every night. Seem like Rust is the perfect language for me.

As someone who just picked through the Zig docs (take this with a mountain of salt), Zig has a few things going for it:

  • spec is simple and closer to C in scope
  • modern language design, toolchain, and overall ergonomics
  • Go-like struct & interface system
  • 1st-class C interoperability

Go foists co-routines on you and the runtime, and Rust has the borrow checker. Both of these things deeply impact language design, standard libraries, and the overall developer experience. So Zig might actually be a "more modern C" in many ways which makes it a contender. That said, it's not a 1:1 comparsion since it lacks everything else that C++ does: you'd have to re-envision your software designs as something other than OOP if that's what you're used to.