Fortran 70 岁生日:科学计算的常青树

Celebrating 70 Years of Fortran

今年 10 月 15 日标志着 Fortran 手册发布 70 周年。作为科学计算领域的基石,Fortran 在过去七十年间支撑了核工程、气象预报及材料科学等关键领域的重大突破。为庆祝这一里程碑,Institute of Computing for Climate Science 将于 2026 年 12 月 1 日在英国 Manchester 的 Science and Industry Museum 举办特别活动。活动将由 Damian Rouson 发表主旨演讲,回顾 Fortran 的演进历程,并探讨未来七十年的发展愿景。现场还将展示 1940 年代实验计算机'Baby'。活动免费开放,支持现场参与及 Zoom 远程接入,报名截止至 2026 年 11 月 9 日。

Fortran 在过去七十年间,支撑了核工程、气象与气候预测以及材料科学等多个科学领域的关键基础设施和技术进步。
  1. ggm

    以前我在大学计算中心工作,负责编程问题的免费帮助台。问一句“你有程序的最新清单吗?”就能解决掉大部分问题。

    最让人难过的是一个化学工程博士生,他的论文工作接近尾声,却一直在为无法复现结果而挣扎。调试了半小时后,我意识到他是在用未初始化的 Fortran 数组状态来存储数据。我怀疑他的发现就这样付诸东流了。

  2. EvanAnderson

    计算机历史博物馆(CHM)收录了 John Backus[1] 的口述历史[0],里面讨论了一些 Fortran 诞生时的计算环境。

    我真的很喜欢 CHM 的口述历史。我正在慢慢通读所有这些内容,里面确实藏着不少瑰宝(Ken Thompson、Dennis Ritchie、Margaret Hamilton、Gordon Moore、Fred Brooks、John Warnock 等等)。

    [0] https://www.youtube.com/watch?v=dDsWTyLEgbk

    [1] https://en.wikipedia.org/wiki/John_Backus

  3. obviouslynotme

    我以前参与过一款软件的开发,其中仍在使用 50 年代的 Fortran 代码,至今仍在维护和运行。据我所记,它大约有 70 万行 Fortran 代码。这可能是目前仍在使用的最古老、规模最大的 Fortran 代码库。

    我在那里的第一个项目就是把代码里所有的 Hollerith 常量去掉。因为 Fortran 诞生时还没有字符串类型,你必须把它们当作整数来处理。当你把这和原始的 Fortran 动态内存系统 Dynosour 结合起来时,那就是一场灾难——Dynosour 使用等价数组(equivalenced arrays)作为指针。

    这也让我对 JavaBeanFactoryFactory 产生了敬意。原始 Fortran 限制标识符为六个字符,且第一个字符必须表明变量是整数、逻辑型(bool)还是实型(float)。每次我宁愿选一个 100 个字符的名字,也不愿用 ILBNK1。

    GOTO 语句意外地不是个大问题,但结构化代码确实更容易阅读,尤其是因为它带来了缩进的习惯。

    总的来说,这是一次很棒的经历,但我不会再想重蹈覆辙,即使工作内容很有趣。

  4. whartung

    FORTRAN 对我来说是一门非常重要的语言。

    我在早期微型计算机上长大,用的是 BASIC,而我父亲有一台运行 FORTRAN 的 TRS-80。

    我试着学了一下,但文档主要是关于如何调用编译器的参考,而不是教人学语言。后来我找到一本 FORTRAN 书,内容非常过时,还在讲磁带、打孔之类的事情。

    所以,那次努力就搁置了。

    但在大学第一个季度,我修了一门 FORTRAN (77) 课程。学校是在 CDC Cyber 大型机上教授 FORTRAN 的。

    这和 8 位的 PET BASIC 大不相同。

    但最重要的是,它让我接触到了许多与 8 位计算机相似的概念,只是角度不同。

    这让我能从更高的层面看待问题,因为我必须让事物适应两种不同的视角:FORTRAN 如何看待事物,Cyber 如何呈现事物,以及 BASIC 和 PET 是如何“本质相同但表现不同”的。

    它还让我接触到了多用户系统及其所有有趣的功能。

    我记得当他们引入第一批 PC 实验室时,开始教人们用微型计算机学习 Turbo Pascal,我觉得用户们错过了一个更大的世界。“任何人”都可以在家里访问 PC 或微型计算机,但大型机或多用户小型机的访问就没那么容易了。外面的世界要大得多,而我们往往只盯着首先看到的东西(像小鸭子一样认作母亲)。

    今天的世界不同了,我从未在职业中使用过 FORTRAN,但我对这段经历感激不尽,l […]

  5. dranudin

    2018 年我做软件开发的第一个工作就是写 Fortran,用于仿真求解器。我仍然喜欢这门语言!现代 Fortran 非常快,而且在线性代数方面比 C 好用得多。所以在我看来,对于数值计算,它至今仍是最好的语言。

    生日快乐!

同日更多故事

2026-10-15