Remix.run Logo
phplovesong 3 hours ago

I know syntax does not REALLY matter, but Zig is just kind of subpar syntax wise. Its really verbose and picked weirdly from what already exists. Zig code is usually hard to read because it really noicy, and has weird things not existing in other languages without merit.

flohofwoe 4 minutes ago | parent | next [-]

Well, compared to what? Zig is much nicer to read than Rust or C++, about the same as Typescript, but not as nice as modern C.

But that's just my opinion.

Such questions usually come down to "how familiar am I with this programming language", and anything that doesn't look like your pet language looks ugly. Except Rust and C++ of course, those are objectively ugly ;P

pzittlau 3 hours ago | parent | prev | next [-]

I don't think that it's really subpar. It's just unusual compared to others. In and of itself it's very consistent. For instance there's `|capture|` for capturing all sort of things(errors, optionals, ...) in nearly all control flow constructs. `blk:` for naming blocks, `if`s, `switch`, and so on. Have a look at this blog post: https://matklad.github.io/2025/08/09/zigs-lovely-syntax.html

ulbu 2 hours ago | parent | next [-]

|capture| hides an inconsistency that bugs me – everywhere else, assignment to a variable flows leftwards. |capture| is an unnatural rightwards assignment.

in general, I like zig syntax, but i find that it had very little regard to how the eye moves on the page. it’s jarring at times.

simjnd 32 minutes ago | parent [-]

But the capture is conditional so it makes sense.

if (evaluation) result = evaluation

if (evaluation) |result|

Although assignments as expressions in C are convenient, I don't think they make a ton of sense and find Zig's capture easier to read (easier to immediately see what's being evaluated)

ulbu 19 minutes ago | parent [-]

if |result| (evaluation)

phplovesong 3 hours ago | parent | prev [-]

I saw that article previously. Nearly all of the syntax seem to be in-house with little benefit. All the examples could just use some modern c-like thing.

Zig has benefits, like comptime, no hidden control flow, memory mngmt, cross compilation etc. But its syntax is just a mouthfull of wats, whys and wtfs.

I can forsee a compile to Zig languge popping up sometime soon.

nromiun 2 hours ago | parent | prev [-]

Of course syntax matters in any programming language. That is like saying the alphabet and grammar does not really matter in English.

zuzululu an hour ago | parent [-]

with LLMs? syntax doesn't really matter anymore exactly because of what you mentioned in your last sentence.