丑陋的Fortran

Fortran
Article Directory
  1. 1. 结尾

This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.

Fortran 是一门丑陋的语言。由于被 Fortran 折磨的不轻,我决定开一个帖子细数我觉的 Fortran 丑陋的地方。

  • 最大行宽限制:如果你的 Fortran 代码写的太长,Fortran 编译器会给你粗暴的截断,然后抛出一个跟行宽太大八竿子打不着的错误,让你以为是你写的语法有问题。
  • 大小写不敏感:大小写不敏感单独来看其实还好,但是和 最大行宽限制 放到一起简直就是编程地狱。你既要绞尽脑汁想出一个不和其他变量重名的名称,又要追求名称的简短防止超过行宽限制,写起来简直就是坐牢。最终的结果就是导致你彻底摆烂开始用意义不明的名称堆砌屎山。
image-20260130105758176

截图自 WRF 源码

  • 文件读写:文件读写必须要手动分配管道号。很难想象这种情况能在 2026 年遇到,Fortran 迭代了这么多年就没有人想要解决这个问题?
  • 文档差:你能在网上找到的比较像官方文档的网站,大概率找不到 namelist 这个关键字的用法,全靠编译器文档学。

还有一些地方其实并不是 Fortran 本身的问题,而是写代码的人的问题。

  • 函数参数地狱:是的,你几乎可以在任何一个 Fortran 屎山中看到几十上百个函数参数一起传递的屎。

就像上面 WRF 源码一样。

结尾

其实 Fortran 也没有那么不堪,Modern Fortran 发展的也比较好了,工具链比较全,但是写起来的体验和现代编程语言相比,还是差了不少档次。

Author: Syize

Permalink: https://blog.syize.cn/2026/01/30/fortran-ugly/

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Syizeのblog

Comments