这一路的颠沛流离
能不能得到回报已经不重要了
重要的是在这之后
你仍然没被生活打败
前端的世界变天了!
2025年3月11日,深夜时分,全球程序员的朋友圈被一条消息彻底炸醒了——微软正式官宣,将用Go语言重新编写TypeScript编译器,其性能更是直接“飙涨”至10倍之多。
这种感觉啊,犹如你往常适应了穿着那双磨破的布鞋,在泥泞小路上缓缓行走,忽然间有人为你换上了速度极快的火箭靴,你才刚刚系紧了鞋带,眼前就已经闪过一片片模糊的风景,速度之快令人目不暇接,心跳都仿佛要跟随着这惊人的速度一起跳跃。
TypeScript (下文简称 ts)的亲爸爸将会亲自操刀这次重写,将从原来的 JavaScript 的怀抱当中抽离出来,放入到 Go 的火箭炮的环境中。
为什么微软会选择这样的一次尝试呢?我们还是用数据说话:
微软出品的基于 ts 开发的最为出名的产品无疑是 vscode 这款风靡全球的代码编辑器。vscode 具有 160 万行代码。原来编译 vscode 一次需要至少 11 分钟的时间,这样长的时间足够让深夜的程序员泡上一碗香气逼人的泡面。
而在用 go 重写之后,编译一次的时间变为 7 秒,还没等你把调料包撕开,它就已经编译好了。
有微软的程序员因此吐槽:还可以趁着编译的时候可以刷一下短视频 tiktok,今天突然多出了这么多的空余时间,让人摸鱼也不是,撸代码也不是,让人不知所措。
在这场史诗级更新的背后,我们不禁会问为什么微软会做出这么意想不到的技术变革?
说实话,微软的软件实力应该可以排的上全球前三,微软单在编程语言方面就有非常耀眼的贡献,从早期的 vb 语言,然后到 2000 年的 C#,再到2005年的函数式编程语言F#,再到2012年ts的横空出世,除了vb语言几乎被淘汰了,其他编程语言都非常成功。
微软为什么没有选择自家的 C#,或是传统的C++,又或是rust呢?说起来微软背后的考虑也是很务实的。
现有TypeScript代码,长得就像是Go的“双胞胎兄弟”,移植起来,比另起炉灶要省事很多。
确实,稍微懂点 ts 和 go 的同学就会发现它们真的很像。
另外选择 go 而不是其他语言,还因为 go 自带“智能保洁阿姨”(垃圾回收),而且既不用像C++那样每次倒垃圾都要像一个保洁阿姨亲力亲为,也不像Rust需要记忆众多垃圾分类条例,对于处理编译器这种“批量化流水线作业”来说简直是恰到好处。
无奸不商,微软的技术大佬和企业老板们已经偷偷算起了账。
使用了 go 以后,原来服务部署语言 20 台服务器,还需要为这些服务器安排几个运维人员,现在直接缩水为 2 台服务器,不仅节省了机房空间,每天还节省了很大一笔电费。
但是对于我们打工的牛马来说,却不是一件好事,页面的加载速度由 15 秒缩减至1.2秒;前端在等待加载之时,以前可以跑去抽根烟。而现在呢,烟尚刚到嘴边,页面便已然加载完毕。
细思极恐,伴随着 AI 的进化,虽然现在的 github copilot 生成代码的速度是 蜗牛踩油门——慢上加慢,等 go 化的 ts 全面落地,恐怕它就会成为代码激光炮。
现在入场AI编程工具,就是二十年前囤北京二环房。现在的技术态势已经不是快鱼吃慢鱼,而是火箭吞潜艇。
最后
不要去纠结学哪门语言更有钱途,未来的开发者已经不是单一语言的专家,别当语言死忠粉。你要能今天用Go写接口,明天用Python跑数据,后天用JS搞网页——活儿来了,抄起最顺手的家伙就干。当然前提是用好 AI。
