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 生成的程式碼是否正確。