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