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 日