Hacker News 中文摘要

RSS订阅

Celebrating 70 Years of Fortran

一个月后的10月15日,首本Fortran手册发布将迎来70周年,Fortran也因此成为科学计算领域极其成熟的编程语言。70年来,Fortran为核工程、天气与气候预测、材料科学等领域的关键基础设施和技术进步提供支持,至今仍是这些及其他领域中的首选语言。为庆祝Fortran对科学与工程的杰出贡献,气候科学计算研究所(Institute of Computing for Climate Science,ICCS)将于2026年12月1日在英国曼彻斯特的科学与工业博物馆(Science and Industry Museum)举办“Celebrating 70 years of Fortran”活动。

正文

再过一个月,也就是 10 月 15 日,将是第一份 Fortran 手册 发布七十周年,这也让 Fortran 成为科学计算领域一门根基极深的编程语言。

在七十年的使用历程中,Fortran 支撑了核工程、天气与气候预报、材料科学等多个科学领域的关键基础设施和技术进步。时至今日,它仍是这些及其他相关领域的首选语言。

为庆祝 Fortran 在推动科学与工程方面的杰出贡献,气候科学计算研究所(ICCS) 将于 2026 年 12 月 1 日在英国曼彻斯特的科学与工业博物馆举办“庆祝 Fortran 70 周年”活动。

研讨会安排

主体研讨会将于 14:30-18:15 在博物馆会议套间举行,随后在展览厅举办晚间酒会,现场还将演示 1940 年代的实验计算机 “Baby”。

研讨会将以回顾的形式展开:由劳伦斯伯克利国家实验室的 Damian Rouson 发表主题演讲,回顾 Fortran 在过去 70 年间的演进;安排闪电演讲,介绍当下令人振奋的进展和社区倡议;并开展开放的分组讨论,展望未来 70 年。参与者可提交闪电演讲和海报,也可提议分组讨论的话题。

报名注册

在资助机构和赞助方的支持下,参会免费。

报名请填写以下表单:https://forms.gle/NjXfManJWmwLX7sc7。

活动以线下为主,但也提供通过 Zoom 远程参会的选项。

报名将于 2026 年 11 月 9 日截止。

更多信息

活动的更多详情,包括完整日程以及提交闪电演讲和海报的方式,请参阅活动网页。

这篇博文也发表在 CAKE 网站:https://www.cake.ac.uk/news/fortran-birthday/。

评论

整体气氛怀旧且带着敬意,不少人为自己早期或仍在使用的 Fortran 经历感慨,并惊叹这门语言七十年后仍运行在核工程等关键领域。核心分歧在于:它今天究竟仍是数值计算的最佳或正确选择,还是只该被维护、验证并迁移的历史遗产;另一条主线是学术圈长期困在 Fortran 77,与现代 Fortran 支持者形成明显落差。

认为现代 Fortran 在数值计算上依然最快、最顺手

  • 承认它很老,但强调现代 Fortran 并未过时:直到 2018 年仍有人用其开发模拟求解器,觉得它做线性代数比 C 更顺手;也有人说读到它至今是核工程等场景的首选。(少数人) > “现代 Fortran 非常快,做线性代数比 C 舒服,即便今天它仍是数值计算最好的语言。”(@dranudin)

认为它留下的基础库和长久生态才是真正遗产

  • 不一定推荐今天再写,但承认科学计算的底座由它铺就:BLAS、LINPACK/EISPACK、LAPACK 等基础库都出自 Fortran,影响延续几十年;再老的仿真或数值代码也可能靠它跑着,这种历史资产很难被直接替换。(较多人) > “虽然被打孔卡劝退,但 BLAS、LINPACK、LAPACK 等基础库都是 Fortran 写的,谢谢它。”(@FabHK)

认为 Fortran 77 与旧式写法是痛苦来源,学术圈固守旧标准

  • 抱怨集中在旧方言和过时教学:COMMON 块、GOTO、ENTRY 入口、六字符变量名、Hollerith 字符串、打孔卡列规则等都让人痛苦;更反直觉的是,很多人指出不少教授在 Fortran 77 发布三十年后仍强制使用它,使学生错过现代特性和编程乐趣。(较多人) > “我当然知道有更新的标准,但很多教授三十年后仍坚持用 Fortran 77,我庆幸逃了出来。”(@BeetleB)

认为它更适合作为被维护的遗产,离开后编程才变愉快

  • 不少人在接触 Pascal、C 或抽象概念后才真正爱上编程,把 Fortran 视为需要维护、验证并迁往 Matlab、NumPy 或 Rust 的旧系统;有人发现 C 后彻底离开,也有人至今在把上世纪的遗留代码迁出。(较多人) > “我一发现 C 就彻底抛弃了 FORTRAN。”(@WalterBright)

有价值的补充

  • FORTRAN 是后世用 i、j、k 作循环变量下标的源头:i 是当年第一个可用于该用途的变量名,原始设计受极其简陋的早期计算机限制。(@jandrewrogers)
  • 初版 FORTRAN 更像带数学表达式的高层汇编宏:没有函数,控制结构全靠跳转和 GOTO,IF 只是条件跳转的语法糖;但它能用 +、-、*、/ 和括号直接书写公式,这在当时是革命性的。有人为验证这点用初版 FORTRAN 写了 FizzBuzz。(@vegesm)
  • 早期 Fortran 没有真正的字符串,要用 Hollerith 常量把文本当整数处理;标识符最多六个字符且首字母表示类型,动态内存机制 Dynosour 则用等价数组当指针,维护起来如同灾难。(@obviouslynotme)
  • 写 FORTRAN 77 编译器前端很折磨:固定列格式下,有时必须读到多行语句的倒数第二个字符才能判断这是什么语句。(@kps)
  • 有开发者认为,学过一次 FORTRAN,就能永远理解 C/C++ 等的链接模型。(@scott_meyer)
  • 精巧类比:Rust 被称为“它这个时代的 Fortran”,真正的考验在于能否像它一样长寿。(@dzonga)
  • 命名冷知识:社区用“许多年的 FORTRAN,之后许多年的 Fortran”来区分旧标准全大写与后来的现代 Fortran 写法。(@RetroTechie)