newsence
來源篩選

LFortran compiles fpm

Hacker News

LFortran has reached a major milestone by successfully compiling fpm, a complex system project that exercises modern Fortran features, bringing the compiler to 9/10 progress towards its beta release.

newsence

LFortran 成功編譯 Fortran 包管理器 fpm

Hacker News
3 天前

AI 生成摘要

LFortran 現在已經可以編譯 Fortran 包管理器 fpm,這是我們目前成功構建並運行最複雜的項目,標誌著 LFortran 距離測試版僅剩最後一步,進度條已推進至 9/10。

背景

LFortran 開發團隊宣布達成了一項重大里程碑,成功編譯了 Fortran 軟體包管理器(fpm)。這不僅代表該編譯器已能處理具備現代 Fortran 特性的複雜系統專案,也象徵其開發進度已接近 Beta 階段,開發團隊更藉此展示了在 Apple M4 晶片上優於傳統編譯器的編譯速度。

社群觀點

在 Hacker News 的討論中,開發者們對於 Fortran 語言的獨特術語展開了有趣的文化觀察。許多人注意到 Fortran 與高效能運算(HPC)社群習慣將程式或函式庫稱為「codes」,這種將不可數名詞轉為可數名詞的用法,在主流軟體工程界顯得相當獨特。有留言指出這可能源於歐洲工程界的傳統,或是非英語母語者的習慣用法,甚至有觀點認為這反映了早期計算科學將程式視為一種「輸入卡疊」的歷史遺緒。

針對 LFortran 與 LLVM Flang 兩個同樣基於 LLVM 後端的編譯器競爭,LFortran 作者親自參與討論並解釋了並行開發的必要性。他認為 Fortran 生態系需要一個更易於貢獻、編譯速度更快且支援互動式環境(如 Jupyter)的工具。雖然有評論質疑同時追求「極速編譯」與「高效執行性能」可能導致編譯器架構過於複雜,但作者主張透過雙後端策略——開發階段使用自研後端以求快速,發布階段切換至 LLVM 以求效能——是可行的解決方案。

此外,關於 C++ 與 Fortran 的優劣也引發了辯論。雖然有使用者認為 C++ 在現代開發中幾乎全面優於語法冗長的 Fortran,但 LFortran 作者反駁指出,在數值陣列運算領域,C++ 往往比 Fortran 更加繁瑣且難以閱讀。他坦言 LFortran 雖以 C++ 編寫,但 C++ 極慢的編譯速度已成為開發瓶頸,未來甚至考慮將編譯器核心改以 C 語言重寫,以追求極致的開發效率。社群普遍對多個開源 Fortran 編譯器的出現持正面態度,認為這有助於活化這個古老但關鍵的語言生態。

延伸閱讀

  • fpm (Fortran Package Manager):Fortran 專屬的套件管理工具。
  • ALGOL 68 術語集:留言中提到與現代程式語言術語大相徑庭的歷史參考。
  • Code Aster 與 Code Saturne:源自法國實驗室、使用特定術語稱呼的計算流體力學專案。