1978 年 Fortran 考試:AI 的另類考驗

當研究者將一份 1978 年的電腦科學期末考試拿來測試 2026 年的 AI 模型時,一個有趣的問題浮現:現代 AI 能否解開近半世紀前的程式設計題目?這份考試的核心是 Fortran語言——一種 1957 年發明、至今仍在科學計算領域活躍的程式語言。

Fortran(Formula Translation)是最早的 高階程式語言之一,專為數值計算和科學工程設計。雖然語法古老,但其邏輯結構與現代程式語言基本概念相通的。這場測試的目的,是要檢驗 AI 是否能理解並生成這種「老派」程式碼。

AI 處理古老程式語言的能力

2026 年的 AI 模型在訓練過程中接觸過大量程式碼資料庫,包括 GitHub 上的開源專案、學術論文中的程式碼範例,以及各種程式語言的技術文件。關鍵問題在於:Fortran 的訓練資料是否足夠?

AI 的優勢:

  • 語法模式識別:Fortran 的語法規則相對固定,AI 能夠學習其結構
  • 邏輯推導:程式設計的核心邏輯(迴圈、條件判斷、函式呼叫)古今相通
  • 文件翻譯:AI 能將 Fortran 程式碼翻譯成現代語言(如 Python)

AI 的劣勢:

  • 訓練資料不足:相較於 Python 或 Java,Fortran 的線上資源較少
  • 上下文理解:某些 1978 年的專有術語或環境設定可能造成困擾
  • 硬體模擬:當年的計算機環境與現代大不相同

實測:AI 如何解 Fortran 題目

研究者設計了幾種測試方式,評估 AI 的解題能力:

測試 1:語法正確性
要求 AI 撰寫一個計算矩陣相乘的 Fortran 程式。重點在於 Fortran 77 的語法規範,例如陣列索引從 1 開始、需宣告變數類型等。

SUBROUTINE MATMUL(A, B, C, N) DIMENSION A(100,100), B(100,100), C(100,100) DO 10 I = 1, N DO 10 J = 1, N C(I,J) = 0 DO 10 K = 1, N C(I,J) = C(I,J) + A(I,K) * B(K,J) 10 CONTINUE RETURN END

測試 2:除錯能力
提供一段有錯誤的 Fortran 程式,要求 AI 找出問題並修正。這考驗 AI 對語法細節的理解程度。

測試結果與啟示

根據 2026 年模型的表現,AI 在 Fortran 測試中展現了以下特點:

  • 基礎題目表現佳:簡單的數值計算、陣列操作題目幾乎能完美解答
  • 複雜邏輯有盲點:涉及多層巢狀迴圈或特殊格式輸出時,偶爾會出錯
  • 翻譯能力強:將 Fortran 轉換為 Python 的準確率超過 90%

這個測試揭示了一個重要事實:AI 的能力取決於訓練資料的品質與數量。當某種語言的使用者群體變小時,AI 的掌握程度也會相應下降。

對程式設計教育的啟示

這場跨越 48 年的考試對現代教育有什麼啟示?

首先,語法會過時,但邏輯不會。無論是 Fortran 還是 Python,程式設計的核心思維——如何將問題分解、如何設計演算法——是永恆的。其次,AI 可以成為學習古老語言的工具:學生可以請 AI 翻譯經典程式碼,幫助理解歷史上的重要演算法。

最後,這個測試也提醒我們:AI 並非萬能。面對非主流技術或訓練資料不足的領域,AI 的表現仍有其限制。未來的程式設計師需要培養批判性思維,學會驗證 AI 生成的程式碼是否正確。