Live data from Hacker News

Game Jam 2 Results

wasm4.org

21–30 of 193 posts

Re: Game Jam 2 Results

#21

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.

Looking 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?

Re: Game Jam 2 Results

#22
post #9

Earlier quoted context omitted.

I never understood this attitude, it's not like commenting out variables is difficult.

It's not difficult, but it's disrupting to your coding flow, which is bad in itself and even worse when prototyping.

More disrupting than a really slow compiler?

Re: Game Jam 2 Results

#23

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.

My 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.

Re: Game Jam 2 Results

#24
post #9

Earlier quoted context omitted.

It's not difficult, but it's disrupting to your coding flow, which is bad in itself and even worse when prototyping.

More disrupting than a really slow compiler?

allowing undefined variables doesn't slow down the compiler.

Re: Game Jam 2 Results

#25
post #12

Earlier quoted context omitted.

It isn't difficult, but it is friction. You hit compile and a few seconds later you get an error that is unrelated to the change you wanted to test. I agree with all those errors once those changes are for production, but sometimes I wish the compiler would just shut up and let me test the actual change I just made to ensure it works. Commenting out a few variables isn't always easy either. Every try to add const to…

> It isn't difficult, but it is friction. Only until getting rid of unused variables becomes a habit before you hit the compiler. Which is a good habit to have anyway.

it's still friction when it's a habit, there's a cognitive overhead to tracking that every time you make a change.

Re: Game Jam 2 Results

#26
post #2

26 or so data points, but still interesting. I myself have become enamored with Zig's relative simplcity and straightforwardness, although some of my friends keep telling me to do Rust instead.

For me Rust is a language that I would absolutely love to work with in a professional context. The type system and borrow checker have your back and help you make changes to the code without fear of accidentally introducing any regressions. For private lone-hacking projects though it feels way too complex and opinionated. Here Zig definitely gets closer to what I need, though sadly it made unused variables an compile…

It is a truly bizarre decision for a language which aims to have a fast change->compile->run cycle, since it can basically double the time the compile cycle takes.

Re: Game Jam 2 Results

#27
post #2

26 or so data points, but still interesting. I myself have become enamored with Zig's relative simplcity and straightforwardness, although some of my friends keep telling me to do Rust instead.

For me Rust is a language that I would absolutely love to work with in a professional context. The type system and borrow checker have your back and help you make changes to the code without fear of accidentally introducing any regressions. For private lone-hacking projects though it feels way too complex and opinionated. Here Zig definitely gets closer to what I need, though sadly it made unused variables an compile…

That's the one thing keeping me from considering Zig for new projects right now.

If some enterprising young developer is reading this and wants to make a name for themselves, you should fork the Zig compiler and change those errors to warnings. It would be an extremely popular project.

EDIT: I'll even give you a catchy project name. Wig: Zig with Warnings

Re: Game Jam 2 Results

#28

Earlier quoted context omitted.

For me Rust is a language that I would absolutely love to work with in a professional context. The type system and borrow checker have your back and help you make changes to the code without fear of accidentally introducing any regressions. For private lone-hacking projects though it feels way too complex and opinionated. Here Zig definitely gets closer to what I need, though sadly it made unused variables an compile…

That's the one thing keeping me from considering Zig for new projects right now. If some enterprising young developer is reading this and wants to make a name for themselves, you should fork the Zig compiler and change those errors to warnings. It would be an extremely popular project. EDIT: I'll even give you a catchy project name. Wig: Zig with Warnings

There's actually already a patch for this posted on the github issue. It's only about a 5 line change.

Re: Game Jam 2 Results

#29
post #13

Zig is not mentioned until the section "Programming languages" (including not being mentioned in the original title): please fix the title so as not to put too much focus on that.

Zig is the new HN clickbait, taking over Rust's spot. That's a good sign for the language, honestly

Re: Game Jam 2 Results

#30
post #14

Earlier quoted context omitted.

What are you talking about? I don't understand how you've never encountered variables depending on each other. In any moderately complex function you'll have more than one expression, and those can depend on each other. And you want them to be named and assigned; it makes it easier to read and decode intent and debug things (unless you're one of those wizards who get it right on the first try every time, kudos to you…

Of course I have encountered dependent variables, but if I have a long chain of unused variables that means that either that code is ready to go, or the code organization needs refactoring.

You seem to be missing the whole point being made — they are unused because of (temporary) changes during prototyping.
Post reply on HN