this post was submitted on 30 Aug 2023
92 points (95.1% liked)

Programming

17366 readers
457 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

I have been reading about this new language for a while. It's a C competitor, very slim language with very interesting choices, like supporting cross platform compilation out of the box, supports compiling C/C++ code (and can be used as a drop in replacement for C) to the point in can be used as replacement of (c)make and executables are very small.

But, like all languages, adoption is what makes the difference. And we don't know how it goes.

Is anyone actually using Zig right now? Any thoughts?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] CameronDev@programming.dev 0 points 1 year ago (1 children)

Oh right, okay. I thought you meant that allocations just couldn't fail.

Instead you are just forced to handle it properly if it does fail. Would be very interested to test that in practice. C memory allocations are notoriously tolerant, and will happily let you allocate terabytes of memory that doesn't really exist until you try write to it.

I'll definitely have to give that a play at some point.

[โ€“] ck_@discuss.tchncs.de 4 points 1 year ago

Ah, that is another thing that Zig does well (in my opinion). Instead of having a global allocation call, Zig uses an allocator interface interface, meaning you as the programmer can plug in different allocation strategies as you require. So depending on if you do or don't like that behavior, just pick the allocator accordingly, either for your whole program or just for parts of it.