Remix.run Logo
muglug 3 hours ago

This post doesn’t make sense. It was rewritten in Rust. The rewrite itself is complete (no more Zig).

Various people have claimed that Bun in Zig had a lot of tech debt. If they’re to be believed, it seems natural to assume the rewrite does, too. Perhaps all this activity is paying down some of that debt.

pizza234 2 hours ago | parent | next [-]

> This post doesn’t make sense

The author's assumption is that a rewrite is not just a mechanical translation of code - it's also a state of stability. And no release, for the author (I agree) means no stability.

It's like a developer who says that after a week of work, a feature is 90% ready, but the other 10% is still not ready (for release) after months.

virajk_31 3 hours ago | parent | prev | next [-]

Author kept "going" in title because there has been no minor/major release in last two months which unusual for this project if you review the older releases.

muglug 3 hours ago | parent [-]

A major rewrite in another language is also unusual for this project.

It took TypeScript a year to go from announcing tsgo to releasing TypeScript 7.0. That work was done in parallel; here the work is being done serially — and it’s likely to take much less than a year for a new release.

chmod775 2 hours ago | parent | next [-]

> It took TypeScript a year to go from announcing tsgo to releasing TypeScript 7.0.

These are not comparable at all. The bun "rewrite" really is more of a translation of a software that is mainly dogfooded, created with an at best loose regard for a wider ecosystem.

TypeScript 7.0. by comparison is not just a translation from one language to another. It's a true rewrite that at the same time has to consider a massive existing ecosystem (which needs to catch up first or you risk fragmenting it). Plus you might as well consider 6.x part of the effort, since that was the stepping-stone.

Also where bun really is just a runtime implemented with a bunch of glue code plus supporting tooling, TypeScript is much more complex. Change one part of TypeScript and you can get cascading issues somewhere else in the compiler easily. Change something in Bun and you'll likely just break some discrete part.

skeledrew an hour ago | parent [-]

> The bun "rewrite" really is more of a translation of a software that is mainly dogfooded, created with an at best loose regard for a wider ecosystem.

This seems self-contradictory. If it's just a translation, doesn't that mean it remains fully compatible with that wider ecosystem? All the existing APIs retain identical behavior given the preexisting comprehensive test suite that had to go 100% green after all.

chmod775 37 minutes ago | parent [-]

> This seems self-contradictory.

It's not.

Passing an existing test suite just moves the optimistic lower bound to incidental compatibility, it doesn't move it to intentional - "regard" implies you gave it thought.

Plus, it's not just about code: it's also about giving the ecosystem a migration path. Dumping 500k LOC on people and discontinuing development of the zig version effective immediately (there hasn't been a release since and the zig tree is only a reference - the build script is removed afaik) is the opposite of what TypeScript did. If you broke someone's N-API module because of a regression not caught by your suite they're now between a rock and a hard place.

The good news is that there's nobody there to notice. The bun userbase is miniscule* compared to TypeScript's.

* negligible? irrelevant? laughably small? I'm struggling to find an adjective that does the difference justice.

virajk_31 3 hours ago | parent | prev [-]

Yes, its because Anthropic took over and wanted to showcase their LLM capabilities by porting such a complex codebas.

taormina 2 hours ago | parent [-]

Everyone’s point is “they have everything to gain by lying about being more done then they are” and “the claims seem at least a bit full of shit”.

rk06 3 hours ago | parent | prev | next [-]

bun in zig was used by many companies. some were using it in prod. how many of those are using it in prod? none, because bun in rust is not released yet.

Hence, the author concludes that rust rewrite is not complete as bun in rust is not released yet.

I agree with author's POV.

davidgtonge 3 hours ago | parent [-]

The rust version is being used by Claude Code though - which is a fairly large product!

I was hoping for more push back against https://bun.com/blog/bun-in-rust - which is pretty thorough and has some decent arguments and reasoning for why they did the rewrite.

reactordev 3 hours ago | parent | next [-]

I think they meant “released and available for use” rather than just out in the wild.

thevinter 2 hours ago | parent [-]

It is available for use: `bun upgrade --canary`

flohofwoe 3 hours ago | parent | prev | next [-]

How much of the Bun/Node API surface does Claude Code actually use though? Conceptually it's a relatively simple TUI application.

nullsanity 3 hours ago | parent | prev [-]

Yeah, but it's a TUI that has more bugs and worse performance than any other TUI in history. It's not like we'd notice a user after free.

Aurornis 2 hours ago | parent | prev | next [-]

> Various people have claimed that Bun in Zig had a lot of tech debt. If they’re to be believed,

This is one of the funnier takes on the rewrite. Bun was held up as a flagship Zig project for years. Then they chose to rewrite in Rust and everyone up to the Zig author has suddenly switched to claiming that Bun was terrible code all along.

IsTom 2 hours ago | parent [-]

If what they're claiming is true then what were they supposed to do? Go "Hey guys, it's the biggest project in Zig and it sucks, don't look at it"? Not exactly a good PR move.

abalashov 3 hours ago | parent | prev | next [-]

> Perhaps all this activity is paying down some of that debt.

Perhaps. But were that the case, one would think they'd be quite eager to say so.

muglug 3 hours ago | parent [-]

Maybe they will!

Are you expecting them to live-tweet their work or something?

abalashov 2 hours ago | parent | next [-]

Based on the way they live-tweeted (as it were) their rewrite and their other publicity stunts? Yes, actually.

tough 3 hours ago | parent | prev [-]

jared was OK making this rewrite as an experiment branch in the public

why shouldnt upcoming work be as public as the rewrite itself was?

skeledrew an hour ago | parent [-]

You may continue to hold your breath. You may die as a result. The maintainers continue to do what they want regardless.

cowl 3 hours ago | parent | prev [-]

tech dept is not a problem. to paraphrase captain Jack sparrow. "even if it were the most indepted working software project, IT WORKED". On the other side of the medal we have a rewritten software that although it's trumpeted for it's rewrite speed, it is not showing the same Release speed as the manualy written, "tech dept ridden" old one.