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)吗?请在下方分享你的看法。

来源:https://dev.to/tuba_mughal_2fd16fd2c7978/typescript-didnt-win-the-language-war-ai-did-it-for-them-79l