Why care about programming languages July 22, 2026 by Eduardo Bellani

在AI辅助编码的时代,人们很容易觉得深入了解 编程语言已经过时了。为什么要花多年时间掌握语言 细节,而AI可以按需生成任何语言的代码呢?我最近 从一位开发者的提问中感受到了这种看法:

我觉得关注编程语言之类的东西其实 非常没用。……我是不是太极端了?

我理解这种担忧,但我认为它忽略了一个根本问题: 编程语言的价值源于它所体现的思想,而不仅仅是 其语法或工具。这些思想——关于如何组织思维、 管理复杂性以及解决问题的概念——无论由谁或什么 编写代码,仍然至关重要。

以下是我从编程语言中整理的一些深刻思想:

  • 在Rust中,借用检查器——关于所有权和生命周期的推理
  • 在Haskell中,类型类——原则性多态与抽象
  • 在SML/OCaml中,模块系统——大规模程序组织与解耦
  • 在面向对象语言中,身份与相等性——理解状态与比较
  • 在SQL中,关系理论/代数——声明式数据操作
  • 在Prolog中,一阶谓词逻辑——基于逻辑的问题求解
  • 在C语言中,数组与指针——理解内存布局与间接寻址
  • 在Lisp中,语法扩展——元编程与面向语言的编程
  • 在函数式语言中,一等函数——将计算视为值
  • 在SML、Haskell及其他语言中,代数数据类型——用类型建模领域
  • 在Clojure中,映射与不可变数据结构——持久化数据与结构共享
  • 在OCaml中,行多态——用于可扩展记录的静态类型

这些概念每一种都代表了一种不同的计算思考方式。 学习它们能扩展你解决问题的思维工具集。当你 理解借用检查器时,你会对资源管理产生全新的思考。 当你掌握代数数据类型时,你能更精确地建模领域。 当你内化一等函数的概念时,你能发现他人遗漏的抽象机会。

这些思想超越任何特定语言或工具。它们是让你能够评估AI生成代码、 选择合适抽象并构建随规模增长仍可维护的系统的概念基础。 在AI时代,理解这些概念变得更加重要,而非更不重要—— 它们是区分仅会提示与真正工程化之间的关键。

Figure 1: A man praying in a ruined Catholic church in La Vang, a town south of Quang Tri City, Vietnam on July 6, 1972

Figure 1: 一位男子在位于越南广治市以南La Vang镇的一座被毁天主教堂中祈祷,1972年7月6日