Zig 语言社区核心成员 Loris Cro 发文呼吁,在社区协作编程活动 Zig Days 上应主动限制关于大语言模型(LLM)的讨论和使用。Zig Days 是每月一次的线下协作编程活动,参与者自发组队或独立完成项目。作者认为,当下 LLM 相关话题正在"吸走房间里所有的空气",挤占了数据结构和算法、问题求解方法等更值得深入交流的内容。同时,他建议参与者遇到问题先问身边的人,尽量手写代码,不要用 AI 代劳,以免浪费宝贵的学习机会。即便未来商业软件完全由 AI 驱动,Zig Days 依然是为享受编程本身的人而存在的。他提醒组织者应在活动开始时明确传达这一理念,但不必极端禁止,让大家自觉珍惜这个难以替代的面对面交流场景。
对不承认 Go 有异常(exception)的开发者,本文用真实代码证明 panic/recover 就是异常机制:doA panic 后 foo.b 保持未赋值,但 Go HTTP server 会 recover,导致损坏的对象状态残留。解决方案是像 Java 一样防御性编程——先算局部变量再统一提交赋值。作者还指出 Go 在栈展开时执行 defer 的设计不完整,反而让人放松对 panic 的警惕。全文有立场、有可复现代码、有实际工程影响,不是空谈理论,是值得 Go 开发者阅读和讨论的技术观点文。
Go 社区常声称 Go 没有异常,但本文作者尖锐指出:Go 的 panic/recover 本质上就是 throw/catch 异常。作者直接引用 Go 标准库中 regexp 解析器用 panic/recover 作为控制流的实际代码,并分享在 GoLab 2022 上当面询问 Go 核心团队成员得到的答复——你必须假设所依赖的代码(包括标准库)可能尝试 recover。更微妙的是,即使你自己从不调用 recover,依赖代码(如 net/http)也可能在回调上层代你 recover。作者认为 Go 用户普遍意识不到自己语言有异常,这是 Go 营销与学习体系的缺陷。文章来自 Zig 社区成员,有现场一手交流、具体代码证据和明确个人立场,是一篇能引发讨论的技术观点文。