https://github.com/microsoft/typescript-go
微软选择使用 go 而非 rust 重写 tsc,这下前端圈又热闹了。
大多数的讨论都集中在为什么不选用 rust,这显然是最极致的选项。
从我的视角来看,相比当前的 tsc,使用 go 之类的编译语言重写后,可以显著的降低冷启动的时间,这对于 tsc 这类非持续运行的进程,这非常有帮助(ts 似乎没有走 lsp 这条路线)。
当然使用 rust 可能在冷启动、内存利用等各方面比 go 更优秀,但代价就是项目维护成本陡增,roi 不够突出。而大家诟病的 go 的 gc 机制影响性能,但可能没等 gc 运行,tsc 进程已经执行结束了。
当下重写前端工具链,大家倾向于无脑选 rust,似乎不选 rust 这个项目就没人关注,真是一种技术圈的迷思。既然老大哥做出不一样的选择,未来大家选择的时候,应该得衡量下是否 go 也是合适的选项。
微软选择使用 go 而非 rust 重写 tsc,这下前端圈又热闹了。
大多数的讨论都集中在为什么不选用 rust,这显然是最极致的选项。
从我的视角来看,相比当前的 tsc,使用 go 之类的编译语言重写后,可以显著的降低冷启动的时间,这对于 tsc 这类非持续运行的进程,这非常有帮助(ts 似乎没有走 lsp 这条路线)。
当然使用 rust 可能在冷启动、内存利用等各方面比 go 更优秀,但代价就是项目维护成本陡增,roi 不够突出。而大家诟病的 go 的 gc 机制影响性能,但可能没等 gc 运行,tsc 进程已经执行结束了。
当下重写前端工具链,大家倾向于无脑选 rust,似乎不选 rust 这个项目就没人关注,真是一种技术圈的迷思。既然老大哥做出不一样的选择,未来大家选择的时候,应该得衡量下是否 go 也是合适的选项。