Web Analytics

AI 还在写“老式 Go”?Alan Donovan 详解 Go 代码的现代化

本文永久链接 – https://tonybai.com/2025/12/22/alan-donovan-go-code-modernization 大家好,我是Tony Bai。 “Go 承诺了兼容性,但这并不意味着我们应该永远停留在过去。” 在 GopherCon 2025 上,Go 团队核心成员、静态分析工具专家 Alan Donovan 带来了一场题为《Analysis and Transformation Tools for Go Codebase Modernization》的精彩演讲。 ...

December 22, 2025 · 5 min · Tony Bai

逃离 Java 的“自行车棚”:Go 语言真的是那片“净土”吗?

本文永久链接 – https://tonybai.com/2025/12/18/escaping-java-bicycle-shed-is-go-the-pure-land 大家好,我是Tony Bai。 “如果每次我看到‘为什么不这么写?’这种针对完美代码的 PR 评论都能得到一分钱,我现在已经退休了。” 近日,一位在 r/golang 社区发帖的开发者发出了这样的咆哮。他受够了 Java 生态中那种无休止的、关于细枝末节的争论——也就是所谓的“自行车棚效应”(Bike Shedding)。他正在认真考虑转向 Go 语言。 ...

December 18, 2025 · 6 min · Tony Bai

Go 也开始“叛逆”了?深度解读 JetBrains 2025 报告:为何“原生信仰”不再是唯一答案

本文永久链接 – https://tonybai.com/2025/11/14/the-go-ecosystem-in-2025 大家好,我是Tony Bai。 Go 语言迎来了它的第 16 个年头。从一个旨在解决 Google 内部工程效率问题的项目,成长为拥有超过 500 万开发者的全球性技术力量,16 岁的 Go 已然进入了一个成熟、稳健的“少年时代”。 ...

November 14, 2025 · 6 min · Tony Bai

PGO 驱动的“动态逃逸分析”:w.Write(b) 中的切片逃逸终于有救了?

本文永久链接 – https://tonybai.com/2025/11/13/proposal-dynamic-escapes 大家好,我是Tony Bai。 io.Writer,这个在 Go 语言中无处不在的神圣接口,其背后却隐藏着一个困扰了性能敏感型开发者多年的“隐形成本”。当你将一个在函数内创建的字节切片 b 传递给 w.Write(b) 时,这个切片几乎总是会逃逸 (Escape) 到堆上,导致一次不必要的内存分配。 ...

November 13, 2025 · 5 min · Tony Bai

连 Rob Pike 都感到“担忧”:Go 1.26 SIMD 引入的新复杂性与应对之道

本文永久链接 – https://tonybai.com/2025/11/06/proposal-simd-cpu-feature-vet-check 大家好,我是Tony Bai。 Go 1.26 将于11月份功能特性冻结,其最令人期待的实验特性之一,无疑是simd 包的引入。它承诺为 Go 开发者解锁 SIMD (Single Instruction, Multiple Data) 的强大能力,让我们能编写出榨干现代 CPU 向量化计算潜能的高性能代码。然而,在这片兴奋的浪潮之下,一个不和谐的声音却悄然响起,而这个声音,来自 Go 语言的联合创始人之一——Rob Pike。 ...

November 6, 2025 · 8 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

NASA的十大编码“诫律”:Go视角的全新解读

本文永久链接 – https://tonybai.com/2025/09/09/the-power-of-ten-in-go 大家好,我是Tony Bai。 在软件工程领域,有些智慧是永恒的。 2006 年,NASA/JPL(喷气推进实验室)的 Gerard J. Holzmann 公布了其团队用于开发安全关键 (Safety-Critical) 软件的十条黄金法则——“The Power of Ten: Rules for Developing Safety-Critical Code”。这些规则诞生于 C 语言主导的嵌入式世界,旨在为火星车、深空探测器等“不容有失”的系统构建坚不可摧的代码基石。 ...

September 9, 2025 · 8 min · Tony Bai

Go语言项目的安全评估技术

在今年夏天我们对Kubernetes的评估成功之后,我们收到了大量Go项目的安全评估需求。为此,我们将在其他编译语言中使用过的安全评估技术和策略调整适配到多个Go项目中。 我们从了解语言的设计开始,识别出开发人员可能无法完全理解语言语义特性的地方。多数这些被误解的语义来自我们向客户报告的调查结果以及对语言本身的独立研究。尽管不是详尽无遗,但其中一些问题领域包括作用域、协程、错误处理和依赖管理。值得注意的是,其中许多与运行时没有直接关系。默认情况下,Go运行时本身的设计是安全的,避免了很多类似C语言的漏洞。 ...

November 8, 2019 · 14 min · Tony Bai