6 ms·
> Fortunately, a few weeks ago an issue I’ve been tracking for about 3 years was resolved. Zig now can export functions with variable arguments. The key part.
by habibur 4y ago
> Fortunately, a few weeks ago an issue I’ve been tracking for about 3 years was resolved. Zig now can export functions with variable arguments.
The key part. It wasn't possible to write Ruby extensions in Zig until a few weeks back. Now you can.
> I have a story of rewriting part of our production code as Rust extension, which turned out to be 3-4 times faster, but we ditched it anyway, because maintenance cost would be too high.
My solution to this problem is to stick with C. Your code won't get obsolete. Most people are still using C99, and not much has changed in 20 years, even in recent versions.
- ajkjk 4y agoBut sticking with C is exactly what we don't want... hence entertaining alternatives. Right?
- nindalf 4y agoThose who think C is inherently good can’t be convinced otherwise. Any argument will be dismissed with “programmers need do be better”. Any assertion will be dismissed as subjective, lacking data. Any data backed study from Microsoft [1] or Google [2], [3] will be dismissed as Big Tech hiring mediocre programmers. There will be vague references to “just use the right sanitizers”. Ultimately we need to recognise that for some people, language is a core part of their identity. At that point criticising “their” language hurts them. If we’re talking to someone who feels this way, it’s best to politely say “is that so?” and gently disengage. I know it’s tempting to think that we could show them just one compelling data point that will change their minds. But that’s not any more possible than convincing someone to stop believing in religion by pointing out factual inconsistencies in scripture. If you tell a committed Christian that Jesus couldn’t have been born in 0AD because Herod died in 4BC and the census they were travelling for happened in 7AD … is that going to make them reconsider everything about their religion? No, they’ll dismiss this as a minor issue that can be worked around. Same with $language programmers. 1 - https://msrc-blog.microsoft.com/2019/07/16/a-proactive-approach-to-more-secure-code/ https://msrc-blog.microsoft.com/2019/07/16/a-proactive-appro... 2 - https://www.chromium.org/Home/chromium-security/memory-safety/ https://www.chromium.org/Home/chromium-security/memory-safet... 3 - https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html https://security.googleblog.com/2022/12/memory-safe-language...
- peoplefromibiza 4y ago> Those who think C is inherently good can’t be convinced otherwise opposite is also true "those who think C is inherently not good [...]" > Any data backed study from Microsoft [1] or Google [2], [3] will be dismissed as Big Tech hiring mediocre programmers. They aren't being dismissed, but criticized when used to promote other languages. Those studies are partial and about a different topic. They are are about bugs in millions lines of code bloated products, written in C++. Not counting the actual implementation "bugs", like the browser X leaking details about users to make fingerprinting easier and then sell ads. You know why those companies are worried about memory safety and nothing else? Because it's the way people can circumvent the so called "features" and "protections" they implement. Here we are talking about Ruby extensions in C, which is a completely different domain, involving completely different tradeoffs. The author confess he's not a great Rust programmer yet, so probably using Rust over a language he knows better, just because Google said it, it's not the best of choices. Just think about the fact that the Ruby interpreter itself is written in C. Think about the fact that a bug in path traversal or input sanitization is at least an order of magnitude easier to exploit and usually more dangerous than a double free. > If you tell a committed Christian that Jesus couldn’t have been born in 0AD because Herod died in 4BC and the census they were travelling for happened in 7AD as a non believer, that is the least problematic issue about Christianity. dates are conventions, we are not actually leaving in 2022, would you change your calendar because dating is completely made up? also: Jesus does not exists nor can do anything for you, C does.
- nindalf 4y agoOh, is that so?
- peoplefromibiza 4y agoyes.
- jeltz 4y agoAs a C programmer I am baffled by your attitude. Do you feel so threatened by people creating new programming languages? Personally I love that people are working on projects like Zig which try to be a better C. Rust is also an interesting project which has had a lot of positive effects on programming and programming language design, but it is not a perfect replacement for C and more of a better C++. While some "innovation" actually make things worse I see a lot of interesting ideas coming from both Rust and Zig. > The author confess he's not a great Rust programmer yet, so probably using Rust over a language he knows better, just because Google said it, it's not the best of choices. He used Zig, not Rust.
- awestroke 4y agoBut I don't like C. I like modern systems languages.
- pjmlp 4y agoC was already dated when compared with languages like Modula-2 from 1978, modern system languages are kind of catching up with how the world used to look like outside Bell Labs walls.
- deleted 4y ago[deleted]