5 ms·
This is a very confusing blog post. I found myself looking for ChatGPT markers because it doesn't make sense to say: omg zig is so much cooler than C here's why
by SonnyTark 11mo ago
This is a very confusing blog post. I found myself looking for ChatGPT markers because it doesn't make sense to say: omg zig is so much cooler than C here's why, then start listing the absolute basics of the language that are identical in most modern languages without any actual reflection why writing the same thing in a different syntax somehow makes zig superior?
- aib 11mo agoYou're absolutely correct! </s> The "how to modify an environment variable" bit and the bin-dec-hex table made me feel the same way. Then I saw the part explaining how to check for duplicates in a row... I'm struggling to understand the point of the article. Testing a text generator?
- raldu 11mo agoTitles get the headlines.
- antegamisou 11mo agoHonestly this (the fact it is being massively upvoted) looks a lot more like paid promotion. Not the first time and not the only example of submission btw.
- muragekibicho 11mo agoI've learnt this the hard way. The most important thing is to get you to click. Sometimes I'll first iterate over the title before even writing on substack.
- tamnd 11mo agoI have learned that too. If you write about C, almost no one clicks. It is not new, it is not flashy, and it does not promise easy results. Yet almost everything still runs on it. The quiet parts of computing rarely get attention, even though they keep everything working. I still write about C anyway. It may not trend, but it lasts.
- zamadatix 11mo agoAn alternative view of "not new and flashy" is "known and expected", which not 100% of C conversations have to be. Just look at the excitement around Fil-C lately!
- tialaramex 11mo agoI'm sure I'm not alone - after decades - already knowing far too much about C, so that any article I'm likely to read either I'm like "No, that's wrong and I even understand why you thought that, but it's still wrong" or I just nod along and sigh. I spent a substantial fraction of my professional career writing C, and I remain interested in WG14 (the language committee) and in several projects written in C though I avoid writing any more of it myself. The reason it's so widespread is called "Worse is Better" and I believe that has somewhat run its course. If you weren't aware of "Worse is better" a quick Google should find you the original essay on that topic years back. In contrast when I read an article about say Zig, or Swift, I am more likely to learn something new. But I can certainly endorse your choice to write about whatever you want - life is too short to try to get a high score somehow.
- tamnd 11mo agoThanks for sharing your thoughts. I have never deployed any production C code and I would not choose C for professional work either, but learning it, with all its rough edges, has made me a better engineer. It helps me understand how things really work under the hood. No pain, no gain. Maybe I am biased, but for professional work, I stay with Go. I have built large distributed data systems that handle hundreds of millions of business transactions daily, and Go has been steady and reliable for that scale. Its simplicity, strong concurrency model, and easy deployment make it practical for production systems. I still enjoy exploring Zig and Rust in my spare time, but for shipping real systems, Go continues to get the job done without getting in the way.
- scotty79 11mo agoWhat I got was: - pointers to bitfields - checked bitshifts - small ints like u4 - imperative array initialization blocks - test code blocks - equivalent of debugger; keyword from js - some vague stuff about being able to do at compile time The rest is pretty generic
- beej71 11mo agoI had to dig farther on the compile time execution stuff. It's actually pretty cool-looking. Recommend digging into it. I don't know that it's a killer enough feature to draw me away from Rust's guarantees, but it is interesting.
- jandrewrogers 11mo agoIt is difficult to overstate how useful compile-time execution is in practice. I can't imagine using a systems language without it now. The term "modern C++" largely denotes when compile-time execution was added to that language. I would love to see Rust get compile-time execution that is as capable as Zig or C++20.
- nicce 11mo ago> I would love to see Rust get compile-time execution that is as capable as Zig or C++20. Can you give examples? Const functions are pretty capable in Rust already.
- kllrnohj 11mo ago> I would love to see Rust get compile-time execution that is as capable as Zig or C++20. Isn't that just macros which are way more powerful than what Zig or C++20 offer?
- bigbuppo 11mo agoThey're excited about their new hammer.