Web Analytics

Dropbox最新研究解读:AI 正在拉平生产力差距,顶尖开发者如何脱颖而出?

本文永久链接 – https://tonybai.com/2025/09/28/how-top-performers-stand-out-in-the-age-of-ai 大家好,我是Tony Bai。 AI 正在以前所未有的速度重塑软件开发领域。从代码生成到信息检索,AI 工具无疑极大地提升了工程师的生产力。一个普遍的假设是,谁能更好地利用 AI,谁就能成为新时代的顶尖人才。然而,Dropbox 最近发布的一项内部研究,却对这个看似理所当然的结论提出了一个深刻的挑战。 ...

September 28, 2025 · 6 min · Tony Bai

Go 结构体初始化的“反直觉”设计终于要改了?深入探讨嵌入字段直接初始化提案

本文永久链接 – https://tonybai.com/2025/09/27/direct-ref-to-embedded-fields-in-struct-literals 大家好,我是Tony Bai。 在 Go 语言中,结构体嵌入 (Embedding) 是一个强大而独特的特性,它为我们提供了一种优雅的“垂直组合”方式。然而,多年来,它的使用体验中一直存在一个广为人知的“反直觉”之处,一个让无数开发者(包括 Go 核心团队成员自己)都曾踩过的坑。 近日,一个旨在解决此问题的、长达十年的“陈年”提案(#9859)被重新激活并进入了活跃评审阶段(active)。这预示着 Go 结构体字面值的使用方式,可能即将迎来一次意义深远的简化。在本文中,我就和大家一起对该提案做一下解读,看看新提案究竟解决了什么问题,一旦落地后,究竟会给Go开发者带来哪些好处。 ...

September 27, 2025 · 6 min · Tony Bai

“自立程序员宣言”解读:这不就是我们一直在说的Go语言哲学吗?

“自立程序员宣言”解读:这不就是我们一直在说的Go语言哲学吗? - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 26, 2025 · 6 min · Tony Bai

Go 安全的“隐形战争”:过去、现在与未来

本文永久链接 – https://tonybai.com/2025/09/25/go-security-past-present-and-future 大家好,我是Tony Bai。 在软件安全领域,最成功的战役,往往是那些从未被公众所知的“隐形战争”。当一门编程语言的安全性被认为是理所当然时,这背后必然有一支团队在持续不断地进行着防御、修复与规划。对于 Go 语言而言,这支团队就是 Google 内部的 Go 安全/密码学团队。 ...

September 25, 2025 · 7 min · Tony Bai

Go团队成员的忠告:在你的API变得无法挽回之前,必须掌握的四条原则

本文永久链接 – https://tonybai.com/2025/09/24/evolving-your-go-api 大家好,我是Tony Bai。 你在 package 中导出的每一个 func 和 type,都是一份对用户的承诺。然而,变化是软件开发中唯一不变的真理。当需求变更、bug 修复、甚至认知升级时,你将如何修改这份“承诺”,同时又最大限度地减少对你和你的用户造成的破坏? ...

September 24, 2025 · 9 min · Tony Bai

“可移植性”的隐藏成本:Go为何要重塑maphash并划定新的运行时边界?

本文永久链接 – https://tonybai.com/2025/09/23/go-maphash-portability-costs-and-runtime-boundaries 大家好,我是Tony Bai。 对于大多数Go开发者来说,标准库似乎是一个浑然天成的整体。我们理所当然地使用着fmt、net/http和encoding/json,很少去思考它们内部的依赖关系和架构边界。然而,在标准库光鲜的外表之下,一场关于其核心架构的深刻变革正在悄然发生,而hash/maphash这个看似不起眼的包,正处在这场变革的风暴中心。 ...

September 23, 2025 · 6 min · Tony Bai

“我们放弃了”——Go 团队坦诚布公,聊聊那些可能永远不会加入 Go 的功能

本文永久链接 – https://tonybai.com/2025/09/22/go-team-gave-up-on-features 大家好,我是Tony Bai。 在 GopherCon Europe 2025 的 Go 团队座谈会上,Michael Stapelberg(负责go protobuf)、Damien Neil(负责Go安全相关)、Michael Pratt(负责Go运行时和Go性能相关) 和 Jonathan Amsterdam(log/slog作者,负责Go工具相关) 四位核心成员与社区进行了一场坦诚的对话。他们不仅分享了诸如官方 MCP SDK、“裸金属”Go 等激动人心的进展,更以一种罕见的坦率,正面回应了社区长期以来关心的多个“老大难”问题——包括不可变类型、泛型错误处理和非 nil 指针。其中最引人注目的一句“我们放弃了”,几乎为 Go 语言在某些方向上的演进画上了句号。 ...

September 22, 2025 · 10 min · Tony Bai

面对“好主意”,为何开源项目的维护者必须学会说“不”?

面对“好主意”,为何开源项目的维护者必须学会说“不”? - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ ...

September 21, 2025 · 5 min · Tony Bai

重构还是重写?GitHub工程师维护Go大项目的实践指南

本文永久链接 – https://tonybai.com/2025/09/20/refactoring-go-in-large-codebases 大家好,我是Tony Bai。 “要不……我们重写吧?” 在任何一个发展到一定阶段的 Go 项目中,这句话都像一个幽灵,反复出现在技术讨论中。面对一个布满补丁、逻辑盘根错节、维护成本日益高昂的“大泥球” (Big Ball of Mud),彻底推倒重来的想法总是充满了诱惑。 ...

September 20, 2025 · 7 min · Tony Bai

从arena、memory region到runtime.free:Go内存管理探索的务实转向

本文永久链接 – https://tonybai.com/2025/09/18/go-runtime-free-proposal 大家好,我是Tony Bai。 Go 的垃圾收集器(GC)是其简单性和并发安全性的基石,但也一直是性能优化的焦点。近年来,Go 核心团队为了进一步降低 GC 开销,进行了一系列前沿探索:从备受争议的arena 实验,到更优雅但实现复杂的 memory regions构想,最终,焦点似乎汇聚在了一项更务实、更具潜力的提案上——runtime.free。这项编号为 #74299 的实验性提案,正试图为 Go 的内存管理引入一个革命性的新维度:允许编译器和部分标准库在特定安全场景下,绕过 GC,直接释放和重用内存。其原型已在 strings.Builder 等场景中展现出高达 2 倍的性能提升。 ...

September 18, 2025 · 7 min · Tony Bai