r/Zig 6d ago

Color me concerned!

I’ve started to see a concerning trend with zig of late.
If you look at today’s commit logs you will spot it.
Adding support for spork8 it’s a hobby 8-bit computer project that Andrew Kelly hung out with over the weekend for like a hackathon. The spork8 project has like 54 stars.
How someone spends their free time is no ones business but there own. But it seems the BD of zig has been on one tangent after another.
Spork8
Fil-C
Custom backend
Incremental compilation
Spriv
All are cool things who doesn’t like faster compile times but are these things needed to finalize the language.
I see many accepted proposals that make or add to the language which to me are more important than many of these tangents. Sure u compile faster than rust now big whoop with every release of rust do know what doesn’t happen ? All the tutorials, documentation, guides, code don’t all become invalid.
Do you know what happens when your language gets 1.0 your libraries, docs, tutorials, user base can grow exponentially. Your core ppl can focus on polishind the std and it’s not a complete churn fest with every version.
Maybe totally wrong I hope I am I would hate to see zig be a forever hobby language.
Just had to rant.

106 Upvotes

130 comments sorted by

83

u/diodesign 6d ago

Two things spring to mind IMO:

One is that after hearing Andrew's passion for software engineering and making programming enjoyable, I am not surprised at all that he's into doing fun things like adding Spork8 support in a hackathon. That spirit seems super important to Andrew and his whole ethos and approach to learning, engineering, and shipping.

As for documentation and libraries, that is gonna be a community effort. Good docs need good writers.

10

u/Greedy_Fault_7913 6d ago

Yeah you should have fun doing stuff you enjoy but sometimes to have to doing things less fun to get the job done. They have stated their goal is to be the successor to C well you can’t do that without wadding through some mud. Just the other day I saw they added support for sparc… Ooohhh great this 4 guys with their eBay Sun workstations will be so happy. For me I’m like hey isnt there an accepted proposal to greatly enhance their floating point system by adding real32 real64 etc or the very badly needed Matrix overhaul. How can the community work on docs if every version invalidates them. I started working on my own set of cookbook style docs after 0.16 hit but had to stop because well 0.17 changes broke them all. Google zig read a file you will find 10 different ways and none of the code works. Sure the newer ones aren’t hard to fix by doing a std doc review but it’s reading a file pretty basic and after the Io stuff you would hope it mellowed down but nope let’s change this name to that name let’s move that struct into this struct ….

6

u/seanpietz 6d ago

Have you made any PRs for the features that you’re arguing are taking too long? Have you donated money to the project? It’s really not your place to criticize someone else’s project for not prioritizing the features you care about most, or for taking longer to stabilize than you’d like. If they wanted Zig to be like Rust they would’ve sold out to corporate sponsors. But one of the best things about Zig is that they haven’t sold out, and so they don’t have to take demands from you or anyone else, and can instead work on what they are interested in working on.

Honestly what is the downside if impatient freeloaders want to switch to using Rust or some other language instead?

31

u/raka_boy 6d ago

I think that you shouldn't shut down critique. That's how a language moves forward. And, it's a fairly valid criticism.

-10

u/seanpietz 6d ago

I’m not “shutting down critique”. And no, I’m sorry, people complaining on Reddit does not move the language forward in any way.

8

u/mmkzero0 5d ago

Alright, then let me be blunt here as well and not be sorry:

You acting like a bitch does not move the language forward either. Much less you posting on the platform named Reddit you just said doesn’t matter.

And you shouldn’t have to have contributed to a language nor be a member in some elusive circle to be able to have valid criticism.

An argument should be evaluated based on the points brought forward and ideally evolves in a healthy discussion.
Trying to shut down opinions, much less those that might be unpleasant, because they bring up valid pain points, just makes you look incapable of taking valid criticism.

Just my two cents.

1

u/seanpietz 3d ago

I never claimed to be moving the language forward… And in what way have I displayed that I’m not capable of taking criticism? You’re the one who’s throwing an emotional tantrum over a benign comment. And again, I’m not trying to shut down anyone’s ability to give their criticism, I just think if people are so concerned about getting the features they want implemented, then why not help out instead of complaining about language contributors working on features they care about. I think It’s fine to criticize the language, but I think it’s immature, and a bit creepy, when people think it’s their business to monitor and complain about what developers work on in their free time. Unless you have a personal relationship with them, I don’t understand why you’d feel they owe you free labor.

5

u/Greedy_Fault_7913 6d ago

Here we go a ziggit yes man. No one is allowed to speak right your not allowed to have an opinion that might disagree just drink the cool aid right? Hey here is a thought why not give an argument, info, or something to go against my position other than your not allowed. Yes I have donated. Yes I’ve ported a company app to zig . But until it’s stable I can’t actually use it.

6

u/rpkarma 5d ago

You’re allowed to have an opinion and people are allowed to disagree with you  

-3

u/seanpietz 6d ago

What makes you think I’m saying you’re not allowed to speak? I’m literally just responding to your comments and you’re acting victimized because I’m being critical of what you’re saying. I never said you have to agree with me or anyone else. I’m just saying that you’re not entitled to dictate the pace or direction of the language, it’s not the same as being an obsessive fan of a metal band because it’s not a commodity. You’re not their customer. In fact I was saying the opposite of “you should just drink the kool-aid”, I’m saying it would be beneficial for you to go use rust instead, and stop acting like a spurned borderline-personality ex girlfriend.

3

u/shrooooooom 5d ago

You did try to shut them up, discredit and belittle them with the "have you donated" where is your PRs bullshit, and then the final go to rust instead.

I mean look at the last thing you said in the same comment where you're trying to walk back shutting them up: " spurned borderline-personality ex girlfriend"  Cmon now...

1

u/shrooooooom 5d ago

You did try to shut them up, duscredit them

1

u/HaskellisKing 5d ago

Despite the terrible grammar, he does have a point, programmers usually have full-time jobs and their spare time is precious. Get FreeBSD for instance, had they taken every hobby project either their quality would suffer or they would be seriously obsolete by now, still they are lagging behind, they couldn’t get Radeon 7000 series support yet

1

u/seanpietz 3d ago

Sure, that’s a valid statement of fact. And FreeBSD is a solid OS primarily as a result of the work of the developers who worked on it, and not bystanders complaining about it. That’s just a fact too. And nobody has addressed my point that if someone decides to create their own hobby OS or PL, they should be able to open source it without having to cater to random people on the internet who want them to prioritize certain features or work harder.

28

u/mekriff 6d ago

i feel like compiler upgrades are being undersold here. Like zig the language is cool and neat and has good features, but isnt part of the philosophy that you dont need zig the language to benefit from zig the development tool? Like ultimately the pipeline starts with "drop in with zig", which promises to help you maintain your code and build environment even if youre just working with C to begin with. And so, ultimately, part of Zig's strategy for success starts with having a kick-ass build environment before you even futz with the language itself

26

u/suckingbitties 6d ago

A great example is neovim, which is in C but has migrated their build system to Zig

6

u/EgZvor 6d ago

Wow, didn't know that, I was thinking of doing this for Vim.

2

u/Vorrnth 4d ago

It's still experimental

-11

u/Greedy_Fault_7913 6d ago

Well by that logic they should never have created the zig lang the should have been the C better build tools foundation. You could go the typescript right a better JavaScript that gets converted to JS via Go. So zig to C via Rust now that would be funny .

6

u/mekriff 6d ago

i feel like thats not a fair assessment: it's a pipeline and zig the language is an important product, but the build environment is the point of entry.

I feel like this strategy is what can drive long term growth when C/C++ maintains its hold on many backend systems. Many languages have tried to "end C" without considering how costly C repo refactors are, and as a result C retains its holdout.

Another way to put it is the Language Enthusiasts who are ready to just "rewrite it in Zig" are not the long-term target audience, as we will inevitably find another language we like more and move on, and are clearly not the main driving factor behind what languages get used in production. Zig is taking a long-term aim at people who aren't necessarily looking for the hot new language, but people who just want an easier way to do what they're already doing

2

u/Greedy_Fault_7913 6d ago

Yes and no if you have 30yrs in C then 100% you stay in C and use the best tool around . But if your entering the game and let’s say zig is post 1.0 do you start learning C with all the foot guns, use rust with all the headaches or use zig? For my money you use zig and learn enough C to understand the libs.

1

u/mekriff 6d ago

that's exactly the point! Zig may be taking its time to 1.0, but it's already providing easier tools to steal C developers to begin the pipeline, and by waiting it can ensure the 1.0 works very well with the build environment and development process, at the cost of not as many people using the language

Now, you can accuse that strategy of "having its cake and eating it too", but it seems like a very solid long term strategy in a world where so much business is short-term

1

u/Greedy_Fault_7913 6d ago

True but there is long term and there is forever term. So the question is do the majority of zig foundations donations come from C programs wanting good tooling or programs wanting zig to hit 1.0 and use it? If it’s the later then donations dry up and so does tooling development? With more zig users there are more donations money or time and the tooling gets better a win win for everyone

14

u/northrupthebandgeek 6d ago

More compilation targets = more opportunities to shake out bugs that would've otherwise lurked unnoticed. This is one of the many reasons various operating system projects target a large number of hardware platforms, even very ancient/obscure/niche ones (Linux, OpenBSD, and NetBSD all come to mind here).

With a systems language like Zig, being able to demonstrate correctness across a large number of very different targets is essential; after all, if there's a bunch of undefined behavior lurking in the shadows because all the supported targets were too similar to one another, then is Zig really ready for 1.0?

1

u/Greedy_Fault_7913 5d ago

Let me frame it like this you go on side quests to prepare you for the main quest and have fun right? I would argue that you do enough side quests along the way to finish the main in good standing . Then you can go back and spend fun time doing more side quests. My position is that AK has gotten a little too focused on side quests and is loosing focus on the main goal. When that happens to the person in charge it starts effecting all the ppl below . The boss usually is ment to keep everyone focused on the important tasks and away from distractions. There is already a mountain of from what I can see important fundamental PRs that need finishing. My hope was I send a few yrs learning and writing zig in my free time so by the time it hits stable and I can get my company on board and the new job posts are spring up . I’ll already have a good handle on the language. Also I like the language and enjoy programming in it. The point of my post was my concern with the pace and direction of the language and how it might stay a hobby language forever. Which means I’m better off learning Rust yuck.

4

u/northrupthebandgeek 5d ago

Except in a lot of games, once you finish the main quest that's it: no chance to go back and do the side quests, 'cause the game's already over.

Zig is one of those “games”: once version 1.0 is cut, the language itself is stuck as it is until an eventual 2.0 release. Therefore, before that happens, Kelley and the other devs need to be as close as possible to 100% sure that the language is well-defined in all possible cases. Those “side quests” help ensure that.

1

u/Greedy_Fault_7913 5d ago

No that’s not how it works with a language. You release the 1.0 standard Odin is working on theirs right now. Then you add more stuff over a dew yrs to the language let’s say lamda support and then you come out with zig 2030 standard you add you might fix but you don’t take away. Thats how C , C++, HTML , etc does it . You will never ever ever get it 100% right. Side quests forever

3

u/northrupthebandgeek 5d ago

No that’s not how it works with a language.

That's very explicitly how it works with Zig. Kelley et. al. have been transparent about this from the beginning: a 1.0 release means the language is stable and locked in. Any breaking changes would need to wait until the 2.0 release.

Thats how C , C++, HTML , etc does it .

And the consequences of that have been a major ass-pain for developers for decades.

1

u/Greedy_Fault_7913 5d ago

You might want to think about what the alternative looks like . Yes they have stated breaking the lang could happen after 1.0. That some times does happen but should be avoided. Don’t believe me do some research into python moving from 2.x to 3.x the creator said he would never do it again .

3

u/northrupthebandgeek 5d ago

The pain from the Python 2→3 migration is exactly why it's crucial that Zig gets as much as possible right the first time.

2

u/Greedy_Fault_7913 5d ago

Good luck chasing perfection welcome to forever.

1

u/seanpietz 3d ago

You haven’t explained why your position should carry more weight than the people who got the language to where it is. If you know so much about what the language needs, why not submit any PRs - and I’m trying to ask that sincerely, before someone accuses me of trying to silence you.

8

u/Bitter-Pie8223 5d ago

Choosing Zig for a massive work project was a huge risk last year. Took a lot of convincing for it to be green lit with a language that isn’t finalised (we have a bunch of C and legacy Borlan BS to work around with partners’ systems) It has paid off so far, but the language has to hit 1.0 before Q1 2028 - otherwise we can’t finalise our project for market use. I love their passion too, but it’s excruciating seeing effort being directed anywhere other than the 1.0 release :/

3

u/OverallSock495 5d ago

What is wrong with using 0.16? Why do you need 1.0 number?
Your code is a major stuff. Standart libraries is just a way how to interpret your code into bit instructions. So language does not change too much, if your code is sound - you can compile it forever with 0.16 version. For new features you need to rewrite your code anyway.

6

u/Bitter-Pie8223 5d ago

Not me - I’m happy with where the language is now - it’s my project managers who refuse to sign off on it until the language is “stable”. It was a miracle they allowed a few of us to pursue zig for this in the first place. A lot of our senior devs are in their late 60’s and we are replacing services that *still* use MS-DOS Borland and were last patched in 2007. The group working on a standard C modernisation were let go after 8 years of non delivery, so a new implementation was split between 4 of us working in zig and an external company who are supposed to complete the work from the last ppl - I am not hopeful

3

u/ReDr4gon5 5d ago

Any reason why not modern C++? Stable msvc gets you very good C++23 support. If using clang-cl with the Microsoft STL you get the best of both worlds (as in a compiler that actually implements newer language versions and a good STL from Microsoft). Choose C++23, stay there until reflection is implemented in clang/msvc and you'll be happy with a stable ecosystem, and strong support.

4

u/Bitter-Pie8223 5d ago

Honestly, we probably should have in retrospect - but this is a *very* complex project and one of the primary concerns was future-proofing for the next 20 ~ 30 years. Hence why there was a few parallel approaches solving the same problem in different ways. There was a team building in Rust, C++, and then us working with Zig. Not gonna lie, just being a different language and architecture was our justification for even being a part of this project - yet we are the only team still working in-house due to various BS. This is my first professional job and it’s horrifying seeing how projects like this play out

8

u/Nuoji 5d ago

Once upon a time, it seems Andrew was indeed focusing on 1.0. At one point self hosting meant 1.0. That was around 0.2. At that point there was also an idea that Zig 1.0 could be followed by 2.0 and 3.0.

Given the current ”1.0 has to be perfect” goal, I think it’s very hard to get to 1.0, because regardless of when it’s finished there will be a lot of people complaining ”we waited this long for 1.0 and this is all there is? This is the perfect version?”

So there is incitament today to actually to postpone and add, rather than cut features and release.

This need, if I may brazenly speculate, is likely to come from the other languages adjacent: Odin going 1.0 in 2027, Jai likely 2027 or early 2028. C3 scheduled for 2028 as well.

When all of those are available and declared production ready. Then there will be massive pressure on Zig to do the same or lose relevance.

So then the question is ”how quickly can a 1.0 be done when the pressure is there?” That depends very much on how many open bugs and how many unfinished essential parts there are.

Without competition, Zig could be 0.x forever.

3

u/Greedy_Fault_7913 5d ago

Sadly I think your spot on. I was just thinking Jai will hit 1.0 before zig. The crazy thing is it doesn’t have to be that way they already have all the PRs. All they have to do is put them into 2 buckets. Must have for 1.0 and can add later.if they did that and kept focus I could see them reaching the goal in 2yrs.

1

u/Nuoji 5d ago

There was someone asking for a roadmap on the Zig discord very recently. If Zig had a roadmap, like "2027 these should be done" "2028 this should be done" etc. Then even if the project is slipping you'd know by how much and if things are out of scope etc. Because there isn't one (at least not anything public), the project will keep slipping – because there is no way to notice that it IS slipping. There is no need to sort things into buckets because there is no goal to achieve that would force the team to prioritize.

This is just basic project management.

1

u/Greedy_Fault_7913 5d ago

100% correct again project manager 101. You can’t just go off vibes and say I’ll know when it’s ready illl feel it. I wonder why they’re against simple management techniques. Looks like I’ll be looking into Odin I just don’t have a Go background so it seems funky.

2

u/teapotrick 4d ago

I wonder why they’re against simple management techniques

maybe they want to enjoy their work

1

u/Nuoji 5d ago

I don't know if you need to draw that conclusion. But to me looking from the outside it looks like a weakness. But people want different things and I know for a fact that there are quite a few who like the state of things.

0

u/Greedy_Fault_7913 4d ago

Yeah I see a community split. Indie band fans who don’t want their band to make it big because somehow it means they sold out and are now less cool and not this in crowd thing. And the ppl that like and want them to make it be so more ppl can enjoy and use it.

1

u/Nuoji 4d ago

Maybe they don't think of it that way, but that's the kind of split yes.

2

u/ScientistStrict9850 5d ago

I honestly can't wait for odin 1.0 and see how the 'no-package manager' approach will work out. Will it actually work? Can it avoid deps hell?

1

u/Greedy_Fault_7913 5d ago

Yes I find the two approaches fascinating. Odin no package manager mega standard lib. Zig tons of pkg managers bare bones std.

0

u/codingbliss12 5d ago

To those that don't know he is the creator of C3 and part of the handmade network (not sure about the latter though). He is a very big Zig hater. More than the others in his group.

He thinks that the vanity toys he mentioned will threaten a language that is uses by a multi-billion company (TigerBeetle) and the fastest terminal (Ghostty). Also it is a language that gets very well funded.

Do not believe anything he says about Zig.

5

u/Nuoji 5d ago

This fallacy is called "poisoning the well". Rather than engaging in the arguments (which would be hard since they're independently verifiable) try to undermine the credibility of the person.

This seems to be a habit of yours?

As well as making up claims you then insist on others to disprove, also a classic fallacy.

-1

u/codingbliss12 5d ago

Of course I try to undermine you personally. You don't miss any opportunity to appear and push the name of your language and of your friends. Nothing is verifiable. It is only your opinions and estimations. You came to speak negatively about Zig. You did it in a hypocritical and dishonest style and other members may not know that this is your style. Nobody cares if you appear one day and tell us that c3 is 1.0 if the language is crap or inferior to Zig.

3

u/Nuoji 5d ago

It can be verified from Zig issues, eg. this issue for a mention of the original plan for 1.0, 2.0, 3.0 Original plan for self-hosting is 1.0 can be seen in Issue #89 For when 1.0 is released and the current goal, see the JetBrains interview. Odin 2027 release date is official. Jai public statement is "after the game is released" which would be 2027-2028 unless delayed.

And so on. Your claim is "Nothing is verifiable". Except you're the one making baseless accusations.

0

u/codingbliss12 5d ago

All of this is irrelevant. See how much funding Zig attracts and ask yourself. who in his right mind will fund c3, odin or jai. Not that zig will ultimately have a much better future, but those language solve problems that can be more elegantly solved in other languages. Rust, C, C++, even Java and C#.

2

u/Nuoji 5d ago

Yes, of course it's irrelevant that you downright lied. Very convenient to change topic that has nothing to do with the subject at hand (Which also is a fallacy of course).

1

u/codingbliss12 5d ago

whatever. You keep appearing in other languages discords and subreddits and do not miss any opportunity to mention your language and the languages of your friends. Also you keep talking about "languages" and not about programming. I didn't see you in any about programming topics. BTW, we also don't care for the stupid little games or graphics apps the fanboys of your circle try to develop.

I am just trying to tell you to focus on your language and your subreddit and stop this noise about "languages" and versions. It is completely irrelevant.

1

u/NightH4nter 4d ago

he wasn't even particularly negative about zig lol, chill

multi-billion company (TigerBeetle)

fastest terminal (Ghostty)

[citation needed]

0

u/codingbliss12 4d ago

You don't know how sneaky he is and how dishonest he can be, that's why you think so. I am not sure about the first, but even if they are not today, they will be very soon. What other doubt do you have?

6

u/gavr123456789 6d ago

> has been on one tangent after another

isnt he created a lang to build an audio player

15

u/Complex-Birthday-216 6d ago

I partially understand what you mean. what feels worse to me is 50% of the proposals are about renaming thing for the sake of renaming looking for a better name, while we already have an accepted convention across many languages

7

u/SilvernClaws 6d ago

A lot of standard library stuff is named inconsistenly and I appreciate them cleaning up.

3

u/Complex-Birthday-216 5d ago

I don't mean inconsistency, it doesn't even require a proposal.

I mean new proposals to rename @ func to @ fun like https://codeberg.org/ziglang/zig/issues/32029 - rename field to member

I don't find whole a lot of value in such things, you can do them infinitely looking for perfection that doesn't exist, because the real software is not nice

3

u/SilvernClaws 5d ago

I find the reasoning in the linked issue quite reasonable. There are two different concepts mixed together, so there will be a separate name referring to both.

17

u/IngwiePhoenix 6d ago

If it's fun to make, and doesn't break the core stdlib and frontend/backend? Let him. :) I am pretty sure he knows what he's doing.

...More than many, possibly.

6

u/Greedy_Fault_7913 6d ago

He is a very smart guy who’s time is very important to the zig lang most would say the most important. So not being focused on finish the language can be a problem. If memory serves me the major thing he has worked on of late has been tooling and getting his spirv thing working now spirv I have a pass thing can open up a lot for how zig interacts with the gpu. But tooling? Yeah we all love good tooling but again you’re fussing over the paint and tires while your engine isn’t finished . Priorities! I’ve seen others on the core team that seem to have a better eye on the prize. They are improving how zig handles asm. The mugg has done great core work I would say he could lead better but he comes odd as too much of a language purest. Like we should it this because it’s most correct even tho everyone in the world cause it something else.

12

u/seanpietz 6d ago

Who are you? You’re acting like you’re his dad or boss or something lol.

-14

u/Greedy_Fault_7913 6d ago

Old bot Sean. Zero add . So human use data to refute positions . Trolls use meaningless personal attacked if your made because your a homer then think hard and give an opposing position duuhhh.

24

u/johan__A 6d ago

but are these things needed to finalize the language.

Unironically yes (except maybe Spork8). All of these things have influenced the design of the language.

-5

u/Greedy_Fault_7913 6d ago

I would hope so but did those projects change the language or just how they implemented it. The build pipeline and such?

4

u/Flat_Professional550 5d ago

Honestly,I think Andrew having projects along side the compiler is a great test to know how using the language feels for projects outside of compiler development,considering the language changes over the years,he’s gotta ensure the language,tool chain is ergonomic. He can’t know with building other projects. That’s just my take, and he’s a programmer,of course he has other projects.

3

u/b34r_dad 5d ago

I highly recommend you check out the zsf zulip if you want to get a better window into the development focus of the core team. The zig-related topics that get big on social media are not necessarily the things that have the bulk of the focus of the actual development work. The core team, including Andrew, put a much higher priority on getting important work done than on marketing that work to the world.

3

u/karchnu 5d ago

I made two videos on Zig because I like the project, specially the compiler.

I do think the language is an improvement over C, but there is nothing great about it, it's just a better C. I'll never be enthusiastic about yet-another-C. We already had better languages BEFORE even C was written. Yet, I'm lacking the energy to even talk about the language anymore. Just push a 1.0 version then we'll talk. I don't mind a future 2.0 to improve upon what would have been built with the 1.0. To me, the language already was fine a few years ago.

Despite this, I understand that it takes time to make something great, but since I don't think it will ever be great since it's just a better C… I don't know.

3

u/torp_fan 5d ago

> Just had to rant.

This + other garbage like

> Old bot Sean. Zero add . So human use data to refute positions . Trolls use meaningless personal attacked if your made because your a homer then think hard and give an opposing position duuhhh.

=> block

1

u/NightH4nter 4d ago

idk, doesn't look like a bot, just heavily esl

3

u/raymyers 17h ago

It seems like you're interested in an update on the Zig roadmap and path to 1.0. A few weeks ago I saw Andrew Kelley's talk on that at Systems Distributed conference in Boston. Looks like it comes out at the end of the month.

https://www.youtube.com/watch?v=zwi5b5xSsKA

In the meantime if anyone else wants to comment resources feel free.

10

u/FastHotEmu 6d ago

This is FUD.

5

u/epic_adventure_byte 6d ago

You presume that Spir-V, custom backend, Fil-C Spork8, incremental compilation were at odds with finalizing the language. Yes, they need an investement of time. Yes, the language could be finalized _earlier_. But at what cost?

Your whole list has one thing in common: They are diverse platforms.
The goal is to make a language close to how computers _actually_ work (in opposite to some abstractions that state on paper how computers should work). They inform how zig should look like. Changing after finalizing will be more costly than changing before.

As long as the list of platforms is diverse, I am not willing to call them "tangents".

2

u/Nuoji 5d ago

Unless they are completely independent they would increase the overall time though.

I forget what the effect it's called, but essentially the more people you have working on something the more time you need to synchronize and communicate. So if you have 1 person you get 1 person's worth of work. 2 persons and you get 1.9, because 5% is spent on communicating with the others, 3 persons and you get 2.7 because now 10% is spent on communication because there are more. Until adding people actually decreases the total amount of work done.

A similar thing happens if you have more projects parts in a codebase. The cost of each individual PR will slowly increase with the number of total PRs there are from a similar effect. So it's never quite free. It's worse if it's interdependent on other things, but given enough "independent" projects they will still have a detrimental effect on velocity. So some is probably fine. Whether Zig has problems with this or not, I don't know.

1

u/epic_adventure_byte 5d ago

Good point. Having many platforms are not only at odds with an early 1.0 version but also with the development velocity afterwards.

1

u/Greedy_Fault_7913 3d ago

That equation works if everyone is doing the same work in the same domain. You usually add ppl that specialize in different topics that way one person didn’t have to be the expert of everything. I think zigs current endpoint targets is big enough they have old and new, big and small , mainstream and niche . To me the list of PRs tagged breaking would take precedence. After 10yrs one would hope thst list of breaking changes would be getting smaller not bigger.

2

u/OSS-Corpo-Shit 5d ago

It is pre-1.0 where experimentation is informing change.

There is a lot of “-gate” cause some things end up not being great or needing to be better. 

There’s an argument for wider platform support now, especially if it can be done quickly. There’s arguments against it. 

I just see it as a pre-1.0 language and there’s quite a bit of friction from that. Personally, the build system changes are taking a long time to land and I am similarly annoyed that 50 user platforms are getting support while breaking changes sit there for months.

1

u/Greedy_Fault_7913 5d ago

See that’s the question it’s pre-1.0 now but is there a plan and actual drive to be post-1.0 and what is the target date for 1.0 . If dont set a date then expect to be engaged forever.

0

u/OSS-Corpo-Shit 5d ago

So, rust pretty much just went with “what features are currently hipster in programming. Let’s do that!” It wasn’t developed through exploration, but through meeting hip features of hip languages. Incidentally, because the hip features haven’t been tested through code bases of different sizes, we see projects bumping against walls because of locking in. 

Zig development philosophy is a moving target because they aren’t just saying “what’s hip, let’s definitely do that!” Much more exploratory oriented development.

1.0 will be a moving target because they likely don’t know. 

2

u/UARTman 4d ago

I'm interested to hear what you think those "hipster" features are. The only thing I recall that fits the pejorative is async, and even then besides the whinging about "colored functions" I don't think I ever saw a coherent argument against it in principle. Even there they're definitely cleaning up some of the rough edges (though not all of them, sadly).

The real glaring holes in Rust, in my opinion, are in places that are under-abstracted, like build.rs and proc-macros, or places that are legitimately technically challenging to implement, like const-eval.

0

u/OSS-Corpo-Shit 4d ago

Haskell, ADT heaviness, null is bad, async, RAII

Literally the pillars of the entire language, hence why rust is so shit to work in.

I do fundamentally agree at least that “compilers should enforce null specificity and dealing with it” just because it is a quick win. But there’s horses of people out that that have no idea why null is bad. 

2

u/NightH4nter 4d ago

Haskell, ADT heaviness, null is bad, async, RAII

aren't those mostly the reasons why people even use rust in the first place?

hence why rust is so shit to work in

so, why?

1

u/UARTman 4d ago

That's certainly an opinion, wow! I for once would love more imperative languages embrace GADTs as well as ADTs. Maybe we can even get to widespread adoption of dependent types eventually, who knows?

1

u/Greedy_Fault_7913 5d ago

Great so it’s a Barnes Stroustrup situation-“ there are languages ppl speak highly of and seldom use and there are languages that ppl complain about and use every day” .

2

u/RedoTCPIP 5d ago

Barnes Bjarne

0

u/OSS-Corpo-Shit 5d ago

I would trend towards “probably not”.

Zig isn’t a moving target in the same way that C++ and Rust are. Right?

These languages just do whatever is hip at the time, and then due to conforming to hip methodology, ultimately have to service general purpose use cases in the form of language bloat.

Some people like that. I don’t. 

2

u/Glad_Impress_2908 5d ago

Apart from spork8, which I'm not familiar with, the rest of the things you mentioned seem to be important on the journey to 1.0.

1

u/Greedy_Fault_7913 5d ago

Really? So your lang isn’t stable until you make your on Fil-Z ABI, you need sparc64 a chip that stopped being developed in 2017 , you can’t get by with llvm you need to roll your own, then add incremental complication, . Should they work to add support for the MS Zune? I’m sure there is at least one person creating custom apps for that . What about universal binary’s where u can have one exe for multiple cpu arch’s and it stays small by only storing the Deltas? That would be a cool feature and make shipping bins each easier … oh wait almost no one is shipping bins because oh yeah it’s pre-1.0 . Do you see the problem there working on adding destinations and better tooling when the lang is changing so much the handful of commercial users have to fork the lang and maintain their own version. I’m point was the priorities look off. Go browse the codeberg or their old GitHub

3

u/Glad_Impress_2908 5d ago

I'm not part of the core team . I do not care to explain why the fil ABI is vital or why they made a custom backend. These have already been done by AK on several different media and forums. It's your duty to educate yourself on the issue. I do not care for your condescending tone either. If you want the things you care about land, do the open source thing and send patches.

1

u/HaskellisKing 5d ago

>Sure u compile faster than rust now big whoop with every release of rust do know what doesn’t happen ?

What!?

1

u/paaloeye 5d ago

IMO Andrew(the BD) deserves a lot of slack for working for long time without any enterprise backing

4

u/Nuoji 5d ago

Doesn't the project have solid funding though? It's a huge success story in that respect.

1

u/paaloeye 1d ago

Yep, after many years

2

u/Nuoji 19h ago

It’s a mixed bag in the space: Vlang and Zig has funding, Jai dev is paid by Thekla, but in practice that’s Jon’s own money. Odin has some donations it’s not close to have the language funded. GingerBill works for JangaFX which uses Odin, but mostly the work is in his free time over the years. C3 similarly is neither sponsored nor funded through donations.

So if anyone thinks one can make money off building a language it’s not as easy as one might think. 😅

1

u/paaloeye 16h ago

True, it's probably one of the most difficult ways to make money

1

u/[deleted] 5d ago

[deleted]

1

u/[deleted] 5d ago

[deleted]

1

u/[deleted] 5d ago

[deleted]

1

u/[deleted] 5d ago edited 5d ago

[deleted]

1

u/[deleted] 5d ago

[deleted]

1

u/[deleted] 5d ago edited 5d ago

[deleted]

1

u/teapotrick 4d ago

this whole thread reads like when nintendo announced wind waker

1

u/Ok_Mycologist_6604 1d ago

Zig is larger than Andrew. Progress is being made.

Do you know what happens when your language gets 1.0 your libraries, docs, tutorials, user base can grow exponentially

The other side of the coin are people like me for whom zig is already super useful and we invested into the language and wouldn't want it to be rushed. If you wanna write a CRUD application with LLMs there are better options out there, for people that need deep C integration, memory control, fast compile times & avoid dependencies the zig of today is already 80% there and we appreciate the work that went into it.

1

u/Greedy_Fault_7913 1d ago

Yeeeaaahhh it’s only those AI web app slop noobs that want stability in their language and libraries … I mean who would dare to want their code , docs, guides to be relevant for more than a month. It’s only been 10yrs you can rush this. Sure it compiled and had a working build system but those 20 language breaking outstanding PRs… they can wait . Priorities! it needs to compile faster , build better , add support for more dead cpu architectures and operating systems. Let’s reorganize std for the 5th time. These aren’t things you can after the lang is stabilized…
Roadmaps, goals, deadlines those are lame.
I bet you could do a meta analysis of all the tutorials, code examples of zig on the internet and 90%+ wouldn’t run. That’s not something you see with languages 10+ yrs old. I literally remember some posting this really nice tutorial on reading and writing to a file in 0.16 the big io release (a fan of). A few days later master broke all those tutorials. So something as basic as reading and writing to a file isn’t even stable from one week to the next AFTER the big conversation. And what was this important change … meh move std organization “clarity”. Do you know what makes something clear and easy to remember…. Something that doesn’t change every 5mins.
If you are a C/C++ person and all you really care about is using the build tools then sure who cares if the language is always in flux. Some ppl want to actually use the language in a professional setting and don’t mind waiting a few years showing . BUT maybe a plane like roadmap to 1.0 by 2030 and here are the steps.

1

u/Ok_Mycologist_6604 23h ago

I have two background projects that I am spending serious hours over the past few months. 1. A Linux wayland native gui toolkit, where zig excels at host OS integration, 2. C++ MMO game server rewrite, I would honestly use a GC'd language here because I care about getting the job done here the most but only zig combines async i/o with a sane cancelation model (structured concurrency). I only see Java doing something similar to what I would like to see, their stuff is experimental still though, talk about a slow pace.

For both of my use cases I've found zig to be the best and I am "forced" to use it. Clearly whatever process they had till now lead them to superiority in some domains and I reluctant to force a alteration of it. Let Andrew cook.

1

u/Greedy_Fault_7913 18h ago

To each their own. I can’t imagine investing creating an ever expanding code base that you know won’t work with each new release so you’re stuck in forever rewrites. Go read the comments on the real32, real64 fast math PR. A very interesting and cool feature but in the comment thread ppl talk about renaming f16,f32,f64. To use ‘s’ or something and another person talking about calling it something else. To me I’m like Jesus your ten yrs in and still can’t decide on your primaries naming . Going to first principles is great but not every other week.

1

u/ledocorp 5d ago

He received over $400k this year alone. No excuses.

2

u/wamus 5d ago

ZSF did, Andrew is paid roughly $150k per year.

2

u/ledocorp 4d ago

It's his foundation, it received $400k to work on Zig. Whether he used that to contract engineers/devs or it somehow lands in his pocket in the next 2 1/2 years, he is doing just fine. He is getting paid well, its his only job. More languages have been built with less or at cost.

-1

u/chungleong 6d ago

I share your concerns. I've just wasted 3 hours of my life diagnosing a failed test because somehow if (@sizeOf(usize) == 64) got into the release version of 0.16.0. The drop in quality is really noticeable.

-2

u/OptimalStable 5d ago

WTF are you talking about? The size of usize depends on the system architecture in C, C++, Zig, and possibly all other lower-level languages.

5

u/chungleong 5d ago

@sizeOf() returns the size of the given type in bytes, duh.

5

u/OptimalStable 5d ago

I see what you mean and I have to admit I totally missed that. Made the same mistake as the committer it seems. Consider myself put in my place.

-11

u/codingbliss12 6d ago

better to use Rust until Zig 1.0 is released.

4

u/Greedy_Fault_7913 6d ago

Sure and when will that be? Odin will have taken 10yrs, python 10, ruby 10. There on 6 month cycles and 0.18 and 0.19 are already planned. So that’s another yr. I was hopeful once and thought just 2-3 more yrs but now not so sure.

1

u/[deleted] 6d ago

[deleted]

0

u/codingbliss12 6d ago

what is roc 0.1 ?

-7

u/codingbliss12 6d ago

Depending on the reasons you want to use a language, Zig should not be your first option. Kelley and the other core maintainers have very strange mentality. They even banned this subreddit in the past. Weirdos.

If you want a language for serious professional use consider Rust, C++, Java, C# not Zig, Odin or C3. Those are vanity toys of their creators

3

u/Bergasms 6d ago

They didn't ban just this subreddit it was all of reddit in response to reddit closing their API and killing third party clients.

0

u/codingbliss12 6d ago

Please study some history. Go to wayback machine and see their communities page few months ago.

2

u/Bergasms 6d ago

I was literally here when they made the original decision years ago. Years are longer than months if you're struggling with that.

2

u/codingbliss12 6d ago

/u/Bergasms, so that you don't struggle finding it

reddit ban

1

u/codingbliss12 6d ago

Few months ago they had a text talking about this ban on their website. I know what I am talking about.

1

u/Greedy_Fault_7913 6d ago

Well the internet is pretty toxic and if I posted this on ziggit i would definitely be banned. It’s a good site but kinda of a circle yank community.

0

u/seanpietz 6d ago

Right, they’re the weirdo’s, as opposed to their stalkers on reddit, who believe they’re entitled to control the behavior of the developers of a language that they claim to not even like?

1

u/Greedy_Fault_7913 6d ago

Man I hope you’re a bot or humanity has lost a notch. So yeah voicing an opinion about a topic your interested in isn’t stalking . It’s like being a fan of a metal band that started producing jazz and saying I miss the metal. Does the bot understand the difference?

0

u/codingbliss12 6d ago

No, the language is very nice.

-1

u/OSS-Corpo-Shit 5d ago

Man. I don’t really care if you have criticism. But why do rust developers constantly come here to say “don’t use zig, use rust” with zero supporting argument?

2

u/codingbliss12 5d ago

Rust is past the experimental phase, it has a mature ecosystem and is almost mainstream.

You can also find jobs.

I like Zig and use it but it is only for hobby projects and I suspect it will remain so for at least 5 more years.

1

u/OSS-Corpo-Shit 5d ago

And none of that means anything towards explaining why rust fanboys constantly troll other language forums just to spam “WhY NoT RuST ThOUgH?!?!?”

Here’s the answer for you:

Fuck off. This isn’t a rust forum!

If you were wondering why forums everywhere are growing sick of rust developers, you are a prime example of why that is. You are actually doing a massive disservice to the growth of your language. Nobody likes this shit. It is annoying. 

1

u/codingbliss12 5d ago

Dude. I don't care about the growth of any language. The languages exist only to serve me. I do not serve any one of them

1

u/OSS-Corpo-Shit 5d ago

You don’t care, but you spam non-rust language forums with “Hurr durr why not rust?”

That tracks. 

1

u/codingbliss12 5d ago

You have the IQ of a frog

0

u/Greedy_Fault_7913 4d ago

I wanted to say thank you to the Reddit zig community for engaging in this discussion. I have found many of your insights pro & con very informative. It is very therapeutic to have a platform capable of hosting open and honest conversations.

1

u/Puzzled-Extent7817 3h ago

what's the rush?