Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

OT: I'm always surprised at how popular Zig discussions get here, or Youtube and other medias.

Don't get me wrong, I love Zig and I think it's a great C replacement, but I'm very confused on why C3 or Odin rarely get any attention at all, despite being in the same C-replacement crowd.

But still surprised at what Zig does better than these other projects? Is Andrew much better at marketing/promoting the language? He's very hard to dislike.



I can only answer for me, and while I do think it's more significant a metric for me, I equally assume it probably has some influence on others as well.

C3 uses :: for namespaces, that makes it a competitor with C++ more than C. Equally Odin's syntax is more at home among python, not systems programming.

The appeal of Zig is it feels like C. To many people, this is a downside. C is very very scary to them. But for people who feel at home in C, it's not a downside.

Additionally, the selling point for both are "c replacement" where the selling point of Zig is "good systems programming language" C is only mentioned by it's users as a heuristic.

If 2 groups are trying to replace a language that people are running away from, and that's their best selling point... I'd assume they're less likely to be as successful as a different language just trying to be as good as it can be.

I've even stopped comparing Zig to C, IMO, it does a disservice to both. And I say that as someone who likes C.

Full disclosure, I need to spend a bit more time with both odin and c3 to know exactly how this compares. But the reason I keep writing Zig, and still love it, is how simple it is. Zig is aggressively insistant on simplicity at the expense of functionally or comfort. The only other high level language I know of that is as aggressive about it's design simplicity is infact C. While I assume it's an accident when C does it, it's definitely not an accident in Zig.


C3 is a contender to C++ because of its namespace operator?


I think Andrew is a big part of it, and the people he surrounded himself with are the other part. What kind of pre-1.0 language hosts conventions? Crazy that they manage to do that. Andrew's vision has always been clear and inspiring to me. I think this got Zig its initial following, and they have capitalized extremely well on it to grow as a community.


But, there is something uncouth going on at HN too. Attempts to submit articles for competing programming languages to HN often get removed. Doesn't matter the source either. Could be MSN, Medium, YouTube, whatever...

Those other competing languages get censored or disappear, however, whatever kind of Zig article that is submitted appears to get heavily pushed and promoted on HN. No matter how much blatant marketing propaganda that it is or that it's coming directly from the language's site or team (as oppose to a reputable 3rd party source).


Andrew doesn't strike me as someone who does any marketing at all. He just wants to make the language he wants to use, and does it well.

Sometimes its just right time, right place. But also, Zig has received attention via projects like Ghostty, TigerBeetle, and Bun (prior to rewrite of course)


I believe I read a post by Andrew detailing how he intentionally did marketting in a way to attract users, the right contributers, and donations - he was quite intentional about making his full-time role sustainable (and now more roles).


They have definitely done a lot of marketing through social media and forums like HN. There have been large numbers of posts here by Zig's developers for years, and a few releases of LLVM even mentioned Zig prominently in their release notes.


Maybe people just like the language


Successful marketing is like successful propaganda - it cannot look like it.


> I'm very confused on why C3 or Odin rarely get any attention at all, despite being in the same C-replacement crowd

Your observation is valid, and many would say because something smells very fishy with what HN is doing. Zig is pushed at extremely nonsensical levels on HN, despite there being very worthy and interesting language contenders in the category: C3[1], Odin[2], Vlang[3], Dlang[4], Zen C[5], etc...

We rarely get to see news about these other languages, but instead are constantly saturated with and hit over the head with news about Zig (despite all kinds of issues and being beta). And as if people don't have interests in or don't want to see anything about other young or newer languages in the category.

[1]: https://github.com/c3lang/c3c

[2]: https://github.com/odin-lang/odin

[3]: https://freedium-mirror.cfd/https://levelup.gitconnected.com...

(The V Language: The Best Parts of Go, Rust, and Python — All in One)

[4]: https://freedium-mirror.cfd/https://levelup.gitconnected.com...

(The D Language: A Better C/C++ Alternative Only a Few Programmers Know)

[5]: https://github.com/zenc-lang/zenc


Zig was the first to appear on my radar. I believe I saw Andrew's first (?) talk called the "The road to Zig 1.0" where he communicated his vision very clearly in a way that must have sounded like the promise of the holy land for C programmers who were stuck in C hellscape. Maybe it was even an earlier video where he talked after a rust talk but it was essentially the same message.

Maybe the best marketing is to establish your vision and stick to it over the years ?

In any case c3 didn't exist, I had never stumbled on a talk of Odin's creator and its syntax seemed more foreign (I only knew C back then) so I started rooting for zig. Even though it's not 1.0 yet, zig seems more ambitious (incremental compilation ! comptime ! translate-c ! logical bitcasting !) and committed to the vision of C companion/replacement. That for me is enough to still be hyped ten years after.


With Zig, I can just import SDL.h and use it without writing a binding.

Can I do that in C3 or Odin?


And then you can get AI do a nicer port of SDL.zig and you get way better decls.

Proper enums, proper tagged unions, and often reading the docs can allow the AI to distinguish T * to one of

1. [*]T

2. [:0]T

3. ?T

4. *T

And these are just the most common ones. If you know it’s a read only pointer/array then you can add the const modifier


Odin has SDL built into the language (shipped as a vendored library).


That's not what I mean...

There is a mountain of code written in C that you can simply include in Zig without a wrapper dependency and without having to create the wrapper yourself.


The Zig C import is going away, moving into a tool invoked from build.zig, so this might not be an ideal thing to point to.

C3 just has everything C compatible so not just calling into C but also C calling to C3 is just completely normal with no special compatibility types/functions, unlike Zig.

So which one has the most compelling feature kind of boils down to what one focuses on.

You can find Odin users that praise Odin for finding their sweet spot. Similarly for C3 users, just like Zig users.

And in each of those, they will say that the others didn’t quite match what they wanted (not in all cases though: the relatively high visibility of Zig means a lot of its users is unaware of the languages with less visibility, and just pick it by default)


Zig has a really great backwards compatibility story with C, and it also is a better C compiler even if you don't write a single line of Zig. It's not hard to see why that is popular.


> Don't get me wrong, I love Zig and I think it's a great C replacement, but I'm very confused on why C3 or Odin rarely get any attention at all, despite being in the same C-replacement crowd.

Doesn't matter as neither will see significant adoption.


Yes, Andrew did a lot of internet cult marketing over the years, and then you have exponential free cult marketing.


Andrew pushes lots of "social issues" so he has that crowd and they push zig as a way of pushing their social views.


Yeah, nah. Not so sure about that. I love zig, and I appreciate the rigour, care and thought that goes into the language and it's libs. What Andrew Kelley and the team are doing is excellent work, creating a useful, simple language with which to write efficient, correct programs.

His politics don't matter to me. Hell, if the politics of technologists dictated whether I used their products, I'd have to go live in the wilds, without any tech. :-)


I’ve followed Zig fairly closely and this is the first I’ve heard of Andrew pushing “social issues”. I don’t believe for a second that it’s a factor at all.


What "social issues" would those be?


How confident are you? I ask because I'm a zig zealot, and am constantly shilling for it. But I disagree with a number of ark's positions, and think of him as a bit of a shitter... So I don't think "cult of personality" accounts for it, despite how easy it would be for someone to be able disregard zig if was just a personality cult.


I have no issues w/ the zig language and I'm not saying that's the only reason why people talk about it. There is however a subset of very vocal people who will go out of there way to bring stuff up and push something if they do see that is a part of it. Not that it's the only reason why either, just additional motivation for people to go out and push it that otherwise you might not get. All you need is a couple people who view that as a kind of campaign and they can radically increase the visibility of something on the internet, and turning programming that has some broader social or moral thing related to it even just through the creator is a very easy way of doing that. Rust has a similar thing. I don't view the instinct that leads to language zealotry or zealotry related to social issues(or say religion) being that distinct and it's probably a similar personality trait that encourages both, and it's generally one I find unpleasant regardless of the particular content. FP can also lean in that direction. If you get some narrative you can say this language fixes stuff in a fundamental way + also can appeal to the social thing it just riles people up who will go around talking about it online non stop.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: