A few thoughts on what Bun migration from Zig to Rust means for programming languages.
Language choice is now an autoresearch hypothesis
Historically language choice was mostly driven by subjective stuff. Personal taste – you like the language syntax and concepts or you don’t. Talent availability – pick e.g. OCaml and you’ve just capped your hiring forever.
Meanwhile, objective factors like performance were hard to factor in. Synthetic benchmarks aren't really representative. Until you’ve actually built the system, you don’t know where your bottlenecks will be, and whether you’ll hit the performance ceiling of, say, JVM.
That whole picture is flipping. When agents write the code, the human UX of a language stops mattering. Team experience matters significantly less – you don't need everyone to be experts. But objective evaluation actually becomes possible!
Write the system, hit performance issues, profile them, rewrite it in another language, measure again. Language choice gets reduced to just another hypothesis in the autoresearch loop – a bit expensive in tokens, but that’s not a huge issue.
On the evolution of language ecosystems
Choice of programming language has always been one of the strongest possible vendor lock-ins. You pick a language, you stay with it forever and die on that hill if needed. And that was a driver for fixing the weaknesses of specific ecosystems. Shopify picked Ruby, which had no decent IDE support in VSCode? Then Shopify spins up a team to build that plugin and then open sources it.
This kind of corporate open source pushed language ecosystems forward – such projects ended up pretty mature, with much lower maintainer burnout risk and company resources behind them. This actually was the core of our strategy for Kotlin Multiplatform. We optimised the technology for large teams with huge codebases, expecting them to invest in open source libraries and tooling in return. It worked greatly, and helped us to catch up with more mature ecosystems, despite having less users overall.
If the economics of migration changes, that’s definitely going to affect this picture. Why pour engineering into fixing your ecosystem’s gaps when you can just leave?
Where this ends up
The migration cost is dropping. The motivation to invest in existing ecosystems is falling with it. We’re going to see a lot more rewrites like this. The languages that win long-term will be the ones that win on the metrics agents actually care about – runtime performance and agent-oriented UX, meaning strong compiler checks, simple build tooling, clear error messages, hard-to-misuse APIs.
The endgame is stagnation of the majority of languages, with just a few of them staying relevant.
Bun v1.3.14 releases tomorrow.
If we do merge the Rust rewrite, this would be the last version in Zig