TypeScript的编译器要移植到go了

移植之后性能提升10倍。纯代码移植到native加快了3到5倍,其他的性能提升是并发带来的

而且他们在适配LSP协议

不过Anders Hejlsberg 还说了LSP的重构虽然好用但是比起LLM可能还是差点。他们组正在研究加上一些AI元素进去

5 个赞

编译器移植到 go 之后目标代码是 native code 还是仍然像以前那样 transpile 到 javascript 呢?

此外文中说的提升 10 倍指的是编译速度提升 10 倍,以及 lsp 之类的服务在后台分析代码的速度提升。不是编译后的代码性能提升 10 倍。

transpile到js

很有趣的技术选型。用 go 来做编译器竟然比 C++ / rust 的效果都更好。

In fact, this comes off as a bit of a vote of no confidence in C#, given that Anders is the original creator of C# and his team has now chosen not to use it.

很有趣的评论。有人认为 MS 选择了go 而不是 C# 作为 TS 的编译器是对 C# 的一个巨大的打击和挫败。

如果团队的目标是纯移植不重写,那rust跟C++基本就出局了。那是工作量的问题

我觉得意外的是TypeScript的语法跟C#高度相似,他们居然没有选择用C#而是go

这里面写明了原因,还是比较详细的。

暴论,欢迎被批评指正。

有没有可能是因为 C# 的人才太少了,除了微软自己的 core C# team 以外,招不到更多的 C# 人才?

换个角度想,大家都是打工人,使用编程语言肯定也会选更流行的,尤其是互联网行业广泛认可的语言。 C# 虽然已经跨平台了,但毕竟大家还是下意识的就把它和 MS / Windows 绑定在一起。那打工人,尤其是在薪水较高的互联网行业(即便在美国当然也是互联网行业的工资普遍较高),肯定更会倾向选择万一日后离开了 MS,也能被认可的工作。

1 个赞

不是说,国外使用 C# 的程序员还蛮多的吗?

来源请求

是人才的话换语言没有任何难度吧,让我花2天时间换个语言好像也不是啥有痛的事

用过一段时间的 go,用了以后就再也不想用 c++ 了,我最受不了的是奇慢无比的编译链接速度,特别是链接

编译时间跟链接比起来已经可以忽略不计了…

他们的目的是移植而不是重写,用 go 可以尽可能地和当前的 codebase 的 structure 保持一致。因此放弃了 rust 和 C++

大厂应该就只有 MS 会用。国内国外这点应该都是一样的。

.NET 从业者表示好无奈。。。

支持。golang 编译又快,交叉编译又方便。带gc,心智负担少。

可能是我的偏见吧,我其实是很看不上 Go 语言的。这个语言的语言特性简陋到让我怀疑它会不会不是 21 世纪的语言。

而且它的编译速度快,会不会是通过简陋的语言特性换来的,但代价是开发者要写更多东西?

golang是非常高级且简洁得语言,比rust好得多,应用场景广,速度快,心智负担小

2 个赞

我感觉团队工作出活用go自己业余整活用rust

在Anders的采访里说了

用C#的话要OOP,但是TypeScript基本用的都是函数(不是函数式),语法结构上跟Go更像。

以及AoT不够成熟 – 这个觉得有点牵强

1 个赞