Live data from Hacker News

Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

raymyers.org

521–530 of 862 posts

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#521

Earlier quoted context omitted.

Porting TypeScript to Go in 7.0 doesn’t seem like bad engineering. Neither does this port, given that that Bun started out in a somewhat buggy state.

Completely different approaches. The TypeScript Go port was done responsibly, reviewing every line ported, publishing both runtimes in parallel to give it time for real-life battle testing, with plenty of communication to the community about what was happening. The Bun Rust port was irresponsible and unprofessional, merging a million lines of unreviewed code while gaslighting the community, relentlessly casting shade…

Relentlessly? Where did he post about this and how often?

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#522
post #430

Earlier quoted context omitted.

>When I read the post, my first thought was that I wouldn’t want to build things in Zig, because any technical decision I make, good or bad, might subject me to this kind of article from their BDFL. I think it is worse than that, the comments from people in threads about this suggest that this is an attitude that is creeping into the community. They may not be a majority, but if kinder souls decide to leave for a mor…

There seems to be a team sport mentality with AI topic in HN these days. Almost feels like people are picking sides, and thus not being very thoughtful or rational. Sigh, there definitely an attitude creeping into the community and it's a huge turn off unfortunately.

I was thinking of the Zig community but I agree that there seem to be some tribalism on HN as well.

Possibly the thing that will determine the long term survivability of each will be the respective attitudes of dang compared to Andrew. Putting out flare ups may be a fairly thankless and unending job but it probably is more protective than pouring gasolene over them.

Maybe one day dang will pop and it will all come out in a spectacular rage.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#523
Not to "glaze" the author as the kids say but this has to be one of the best written musings I've read on HN in a long time. I'm likely bias because it's written in "my style" but I feel like it's a rather fair and balanced approach to a nuanced and socially difficult topic.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#524

Earlier quoted context omitted.

No one involved in the port proposed "blindly porting Zig code 1:1 and calling it a day". From the first blog post the creator said: > We can gradually refactor it to reduce unsafe usage and look more like idiomatic Rust after Bun v1.4 ships. What the rewrite does is make the unsafe code greppable, which is a necessary first step to eliminating it and one that's actually achievable rather than going straight to idiom…

> We can gradually refactor it Is quite a hell of a statement, when memory management issues are highly nonlocal and need some careful design upfront in order for you to nail it. Unsafe isn't something that you can gradually clean up. Even one single flawed usage of unsafe (an ill-assumed invariant) can poison the whole program in scary ways, and might require a total refactor of your codebase to fix it.

You realize that what you're describing is inherent complexity in memory management? This is not something that you can dodge by using Zig, it's just part of the domain.

The difference is that in Rust you get strong guarantees for everything that is not inside of unsafe and clearly demarcated areas where things might go wrong. Even if you never eliminate a single unsafe block, the clear demarcation is valuable as an artifact in its own right.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#525
post #452

Earlier quoted context omitted.

I program C for my day-job. I see Rust encroaching in proposed transitions. It may even happen. That said, it is a poor match for it compared to something like Zig (or Odin). It's hard to make the new Rust code use existing allocator abstractions (so now you have two systems doling out memory, how do you reliably free composite objects with memory from both? How do they share?) and you increasingly have to either aba…

If you allow, I’m curious: If you felt familiar with the language just as much as with C/Zig/Odin, would you prefer Rust for a completely greenfield project that requires no C interop (or none more detailed than say providing a general ABI)?

[flagged]

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#526

Earlier quoted context omitted.

All I’ve seen is there is literally no programmer smart and careful enough to never create a use after free or out of bounds read in a sufficiently complex codebase. The state of computer security has moved on from the old model of just patching bugs when you find them. To now where we need to systematically prevent them from happening to begin with.

Have you heard of TigerBeetle? Being smart enough doesn't seem to be the primary factor. It's about having a strategy and the discipline to follow it. No type system will ever free you from the burden of doing the actual engineering.

I find TigerBeetle very impressive. One of the impressive (and correct) decisions it made was to use an allocate-up-front pattern, which makes certain classes of temporal memory corruption harder to write.

At the same time, TigerBeetle can do this because it’s solving a specific shape of problem that’s amenable to that allocation strategy. Binding a third-party runtime written in C++ (TMU, this is what Bun is) is a pretty differently shaped problem that doesn’t easily admit that style.

In other words, discipline isn’t always enough (although you do certainly need it). Sometimes the shape of the problem makes environmental constraints (like the kind Rust offers) important.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#527
post #306

Earlier quoted context omitted.

> since AI makes rewrites to certain languages relatively easy This premise makes no sense. AI makes rewrites to any language easy.

That's absolutely not true. Differently languages have greater or lesser representation in the training sets. You see a similar bias toward specific libraries within a given ecosystem, so much so that I worry about AI created technical monocultures as AI generated code converges to specific languages, packages, etc. The LLM companies have truly astounding power to now steer the direction of the entire industry. It sh…

Rust does not have a bigger training set than say Python/JS/TypeScript/C++ .

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#528
post #400

Earlier quoted context omitted.

I don't have a strong stance on the overall issue of whether it made sense for them to port like this, but I feel like this misunderstands the value proposition of Rust. The point of Rust is not and has never been "make literally everything safe", it's "push the unsafe boundary as low as possible and keep as much as possible above it so that you can reduce the surface area for unsafety and more easily find bugs in th…

> Rust is not and has never been "make literally everything safe", it's "push the unsafe boundary as low as possible and keep as much as possible above it so that you can reduce the surface area for unsafety and more easily find bugs in the unsafe code". Another definition: Rust is a lang to "Run fast and low-level software/firmware, with nicer tools, features, and syntax than the other langs which can do this"! Obvi…

I don't think I agree with this framing because "definition" implies comprehensiveness in a way that "here are some properties which may not cover everything that's relevant" does not. Your "definition" implicitly ignores the safety mechanism that Rust has and Zig lacks, which does a lot of rhetorical work into making it seem like the only difference is in "flavor" rather than "substance". My argument that there is a meaningful difference in substance, just not the one that the parent comment (and plenty of others) expected.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#529
what I don't understand is, given the anthropic narrative, why on earth rewrite bun to rust, and not claude code to rust? why use typescript at all when the whole point is that languages don't matter anymore? I suppose it is solely because it would be a bad look on them to rewrite claude itself - it means they failed - but rewriting bun is a much better narrative - claude is fine! it's just his runtime we need fixing. and here is that token heavy story!

so weird people are not commenting on this.

it's like.. I dunno, rewrite linux in rust, because bun uses glibc, this will somehow make it better, so claude code somehow can run better?

hell, start with UEFI.

Re: Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

#530

Earlier quoted context omitted.

> Rust may have a tremendous success in the future, because it's much easier to write it with AI (ignoring for a moment whether that's really a good thing). It’s interesting that Rust could become the most deployed but the least written (by humans) programming language if the dreams of AI bros come true. If AI gets good enough to competently translate other languages to Rust then there is no point writing in Rust (a…

C/C++ is low friction compared to Rust? Wow. We have very different experiences.

If your objective is just to hack something together quickly to test an idea, and doesn't care if the application segfault 6 hours later (eg. a prototype game engine), C++ is definitely the superior choice to Rust.

Rust is like the instructor demanding that you build your house up to the national code, down to the choice of nail for your floor board. Your house will be perfect, but building it is extremely difficult and high-friction. In many cases this is unnecessary.

Post reply on HN