AI 赢得了 TypeScript 之战
争论已经结束。TypeScript 的胜出并非因为论点更具说服力,而是因为 AI 工具让这场争论变得无关紧要了。
研究人员发现了一个关键模式。AI 生成的代码中,大多数编译失败都是由于类型不匹配(type mismatches)引起的。这些并非逻辑错误,而是一些简单的错误,比如函数或参数的结构不正确。
AI 通过遵循模式快速生成代码。它并不具备你整个代码库的完整思维模型。人类可能会凭借经验发现类型错误,而类型检查器(type checker)则无需任何上下文即可立即发现它。
静态类型不再仅仅是一种风格选择,它已成为 AI 编写代码的安全工具。
看看这对你的日常工作有何影响:
使用 AI 的动态代码库:
- AI 编写一个函数。
- 类型是隐式的。
- 你必须手动查找错误。
使用 AI 的静态代码库:
- AI 编写一个函数。
- 类型检查器会立即标记错误。
错误率是相同的,但修复错误的成本却不同。这就是为什么 TypeScript 的采用率持续增长的原因。当非人类编写你的初稿时,类型就像是一份廉价的保险。
这一规则也适用于其他语言。Rust 在这方面甚至更加有用。借用检查器(borrow checker)可以阻止 AI 经常引入的内存和并发 Bug。这些 Bug 在局部看起来是正确的,但在运行时会失败。
这些语言之所以胜出,是因为它们让 AI 辅助开发变得更易于安全审查。
如果你带领一个团队,请遵循以下步骤:
- 首先在边界处添加类型。
- 重点关注函数签名和 API 契约。
- 保护数据在模块间流动的区域。
警告:类型安全并非万灵药。它能捕捉 AI 容易犯的错误,但无法捕捉错误的逻辑或错误的需求。编译通过的代码并不一定就是正确的。类型检查器是安全带,而不是驾驶员。
你的团队默认使用严格模式(strict mode)吗?请在下方分享你的看法。
