365 字
2 分钟
TS重写为何不用Rust或自家C++而选择Go
这次TypeScript使用Go重写其性能更是直接“飙涨”至10倍之多,但大家相对于其性能提升之外讨论最多的更多在于为何不使用Rust或者C# 重写 值得注意的是本次重写重在‘原生移植’(即保持原有架构和逻辑不变)而非‘完全重写’,这也就导致了为什么不使用Rust而使用Go
而且相对于Rust来说Go与Js更为接近
那既然这样为什么不使用自家的C# 呢? 原因在于无论是JS、Go、Rust,都是函数式编程,而C# 不是这样,尽管 C# 后续加入了 LINQ、lambda 表达式等函数式特性,但其核心仍是基于类的 OOP 范式。移植 TypeScript 编译器(大量依赖函数组合、回调等模式)到 C# 需要更多的代码结构转换,违背“原生移植”的初衷。
而Go 的语法和 TypeScript/JavaScript 的相似性(如垃圾回收、基于接口的设计、简单的并发模型)使得直接移植更高效,减少因语言差异引入的复杂性和潜在错误。
也算是一种综合考虑吧,此外官宣Ts版本将继续维护到5.9及6.0,由Go重写的版本将额外作为7.0存在,6.0时将高度贴切于7.0版本
参考: 抖音博主-原子能
TS重写为何不用Rust或自家C++而选择Go
https://www.irisation.tech/posts/分享/ts重写为何不用rust或自家c而选择go/