TypeScript 编译器 Go 重写版提速 10 倍:微软团队深度揭秘幕后工程细节

本文永久链接 – https://tonybai.com/2026/01/27/typescript-compiler-go-rewrite-10x-speed-microsoft-details 大家好,我是Tony Bai。 “JavaScript 是一门很棒的语言,但它并不是为了编写编译器而设计的。” 备受瞩目的 TypeScript 编译器 Go 重写版(代号 TypeScript 7.0)已经取得了惊人的 10 倍性能提升。在最近的 GopherCon 2025 上,来自 Microsoft TypeScript 团队的 Jake Bailey 带来了一场干货满满的分享,深度揭秘了这场跨语言大迁徙背后的工程挑战与技术细节。 ...

January 27, 2026 · 8 min · Tony Bai

还在当“上下文搬运工”?我写了一门课,帮你重塑AI开发工作流

本文永久链接 – https://tonybai.com/2025/11/20/ai-native-dev-workflow 大家好,我是Tony Bai。 最近半年,我发现我的开发日常,正被一种新的“工作流摩擦”所困扰。 我猜,你可能也感同身受。 我们在一块屏幕上沉浸于IDE中的Go代码,在另一块屏幕上,则像一个勤奋的“学生”,不断向AI大模型提问。我们从代码库中精心挑选上下文,复制,切换窗口,粘贴,然后带着AI给出的答案,再复制,切换,粘贴回来。 ...

November 20, 2025 · 6 min · Tony Bai

Go 的“简单”幻象:易于上手,难于精通

本文永久链接 – https://tonybai.com/2025/11/07/go-simple-illusion-easy-to-learn-hard-to-master 大家好,我是Tony Bai。 “Go 语言看起来如此简单,我的这种假设是错的吗?” 近日,一位刚接触 Go 几个月的新手在reddit golang论坛发出了这样一个真诚的提问。他感觉 Go “超级简单”,并好奇自己是否因为初学者的身份,而忽略了语言中那些“疯狂的复杂性”。 ...

November 7, 2025 · 7 min · Tony Bai

软件工程的永恒法则:《代码大全》作者访谈给我们的三大启示

软件工程的永恒法则:《代码大全》作者访谈给我们的三大启示 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 14, 2025 · 5 min · Tony Bai

Anthropic内部实践首次公开:揭秘Claude Code如何引爆全员生产力

本文永久链接 – https://tonybai.com/2025/07/25/how-anthropic-teams-use-claude-code 当 AI 编程助手从简单的代码补全工具,演变为深度集成于开发者工作流核心的“终端原生 AI”(Terminal-native AI)时,一个根本性的问题浮现出来:顶尖团队究竟是如何在日常工作中驾驭这股新力量的? 理论和演示层出不穷,但真实、大规模、跨职能的实践案例却凤毛麟角。 ...

July 25, 2025 · 23 min · Tony Bai

AI 正在重写“软件工程师”的岗位描述:未来你需要这 6 项核心技能

AI 正在重写“软件工程师”的岗位描述:未来你需要这 6 项核心技能 - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

July 15, 2025 · 5 min · Tony Bai

简单之道

本文永久链接 – https://tonybai.com/2023/12/11/simplicity 已经退居二线的Go语言之父Rob Pike近日发表了一篇名为“Simplicity”的博文,记述了2009年在Google内部一次圆桌会议上发表的演讲内容。Pike老先生在这个时间点发表这篇文章究竟有何深意呢?是对Go语言演进的路线有所不满吗?我们不得而知。不过,这篇文章的内容却是非常值得我们学习,这里我简单翻译一下,供大家参考。 2009年5月,Google举办了一次内部的“设计巫术(Design Wizardry)”小组讨论会,我有幸与Jeff Dean、Mike Burrows、Paul Haahr、Alfred Spector和Bill Coughran一起发表了演讲。以下是我演讲内容的文字稿(略作了修改)。尽管一些细节可能已经过时,但演讲的主题依然具有重要意义,而且如今它可能比以往任何时候都更为重要。 ...

December 11, 2023 · 7 min · Tony Bai

关于程序员的构思能力的一些体会

有一段时间,我完全沉迷于在脑海中想象机械绘图和设计新机型所带来的极致享受,这是我一生中有过的最完美的精神愉悦。创造的灵感像泉水般源 源不断 地涌出,我遇到的唯一困难就是必须设法牢牢抓住它们。对我来说,构思中的设备零件都绝对是真实的,所有细节都触手可及,甚至最细微的标识和磨损状态也是如 此。想象发动机在持续不断地运转,仿佛一道迷人的风景呈现在面前,令我欣喜若狂。 — 尼古拉. 特斯拉 ...

October 27, 2013 · 5 min · Tony Bai

Adapter模式的C实现

Adapter(适配器)模式是《Design Pattern》一书中结构类模式集中的第一个模式,也是一个真正被我的同事在产品代码中应用的模式。 Adapter模式也是一个相对容易理解的模式,多数书籍和网络资料在描述这个模式时都使用了一个与电源适配器有关的例子,说不定Adapter模式还真的是源于对电源适配器的再思考和挖掘呢。 ...

March 5, 2012 · 3 min · Tony Bai

State模式的C实现

上个周末花了些时间将《Pro Git》(Git高手进阶之必读书籍,严重推荐^_^)快速地浏览了一遍,在感叹于Git强大的同时,也见识到了Git的复杂。可以肯定的是Git学习曲线远没有学习Subversion那样平坦。比如,Subversion工作目录下的文件只有三种状态:Untracked、Modified和Committed(即Unmodified);而以Git本地工作目录下则有四种状态:Untracked、Staged、Modified和Committed(即Unmodified)。虽然只多出了一种状态,但感觉其复杂度又上了一个台阶。 Git在这里只是一个引子,我真正要说的还是设计模式,只不过这个模式对应的例子实现与Git的一个命令相关罢了。这个命令就是Git status。Git status可以根据当前工作目录下文件的不同状态输出不同的提示信息,例如,对于工作目录中处于"未跟踪"状态的文件foo.txt,Git会输出下面信息: $ git status # On branch master ...

November 7, 2011 · 4 min · Tony Bai