New Proposal by Andrew: introduce an actually memory safe (unlike Rust) compilation mode inspired by Fil-C

What benefit does minting 1.0 bring the language other than an API that they now can’t break even if there is a better solution. You are more then free to go use rust, Odin, or mojo, no one is stopping you and frankly you act like the velocity of the language is stagnant. It’s incredible what has been accomplished in the last year alone.

8 Likes

Also, while I totally agree that the Zig team has done an incredible job in various aspects of the language (otherwise we wouldn’t be here), I’m not sure if extrapolating on past successes is a beneficial way to look at further development.

1 Like

What benefit does minting 1.0 bring the language other than an API that they now can’t break even if there is a better solution.

If your goal is to constantly seek a better solution, you will keep finding one. And that’s exactly the problem, as the language will never find the adoption it deserves this way.

You are more then free to go use rust, Odin, or mojo, no one is stopping you

That doesn’t sound like a healthy community discussion to me

6 Likes

What alternative metric are you proposing? Are you suggesting we view everything in a vacuum? I am unclear on what you are actually stating here.

andrew can magically spawn an army of crabs by using 2 words inside parenthesis :laughing:

3 Likes

Everyone enough with the bickering.
Please stop this trash talking from all sides, I don’t care who started it, but it ends here, thanks.

Technical on point arguments from here on, nobody wants to read this trash talk.

8 Likes

The fact that you took that as me being rude to you says more about you than anything. I was literally just pointing out that if your requirements of a language require a stable version than there are numerous other languages in the systems space that are at, or about to be that you can use. It’s not like I said: “Don’t let the door hit you in the way out”

Zig not being 1.0 doesn’t limit your usage of it, enjoyment of it, or the enjoyment of others, anymore than the usage of the other languages limits zig.

1 Like

I guess Zig doesn’t want to use 1.0 to attract companies, and it cannot accept compensation for companies’ interests, as it is not a industrial alliance, instead it is a charitable organisation.

It has its responsibility to continually explore computer programming and to be educative. I guess to do that, Andrew decided to depart from many dependencies and many usual ways or “industry standards ways”. They need a lot of time to develop the compiler to emit machine codes without LLVM, they need to write a lot of std lib to interact with the machine without a single C lib call.

Odin wraps every C libs and ships as std. Rust goes with crates, and makes them like a semi-official thing, and it’s hard to tell their qualities and hard to learn what is under the hood. I am not sure about others. I think if a programming language goes with the easy way, they can release stable version very fast, and chase the wave and hype, and attract commercial users.

Personally I like the Zig’s philosophy a bit more, as I am not very interesting in what Huawei, Amazon, and Microsoft (guess the name of the foundation?) want their programing language being like. Personally.

6 Likes

I have long respond for this, I will divide to 2 sections since it is already becoming 2 sections and the OP is also inviting 2 section response

The first section would be the unnecerery unlike Rust in the title. I will not say what Andrew say is correct eventhough he is the original Zig creator, sometime you do bad thing and there will need someone else that respond it objectively not subjective no matter what to remind you that hey get back to the correct path. That line is kinda immature butthurt, that should be able to be controlled. Why can’t it be written in positive way? Because reading positive words give so much fun, not spreading toxicity to the community. Lets get rid of any kind of toxicity everyone no exception including Andrew, lets keep the community healthy

Now the second section, if the Fil-C approach is really has 0 unhandled UB, even in data race case, I think it is good for debugging tool, kind like Rust’s Miri. But someone mentioned ASAN gives more rich information than Fil-C approach, so my question is can this Fil-C approach be edited to do better than what ASAN does? If yes then it is worth it. But there should be priority, a tool like this is worth it after stable 1.0 is achieved. But if this tool can help catching bug in the development of Zig better than ASAN, then it is worth it to get it before stable 1.0. If someone want to do it anyway whether version 1.0 is achieved or not yet it is also ok as long as everyone can keep up

The implementation of this approach should not produce something that prevent Zig from getting formally verified/certified. So it should live in entirely different compilation pipeline without touching the normal compilation

But the OP seems want it to be production build, not debug build tool, so maybe someone can benchmark Fil-C vs Golang first. Because if memory safery is required and performance tradeoff is accepted, most people pick Golang. If Fil-C has performance like Golang, then reimplementing it in Zig has higher possibility of higher performance than Golang the mainstream choise of memory safety is needed and some performance tradeoff is ok as long as it is still fast enough, since the GC can be removed, because we already know what the baseline performance looks like, so we can have a preview of the final outcome

In order to organize things, for social discussion continue here:

For technical discussion here:

8 Likes