C++和Fortran的不同编程体验

时间:2024-11-09 03:32:51

Fortran是一个应该得到恰当的荣誉并下葬安息的亡灵。只是,今日之学界中,这个亡灵喜欢跳出来诈诈尸,口中念叨着些咒语,大致是些“祖螳疾学撺宗之法不可破”、“前人智慧的结晶”、“语法严谨、简单易学、运行如风”之类,听着让人心里发毛。就不多说这僵尸还诞下了一个名叫IDL的怪胎的事儿了,省得过分地得罪同行。

1.更换平台编译时、编译旧代码时,动辄出错,且难以排查——很多时候是因为gfortran的F77兼容模式不能完全兼容某些写法,剩下则多是ifort和gfortran(以及它们各自的用户)间的恩♂恩♂怨♂怨,少数时候是代码中调用的某些库的API做了个不痛不痒的改名;

2.代码中有goto;

3.你会看到一个上千行甚至几千行的subroutine/function;

4.你会看到一个有一百多个参数的subroutine/function;

5.各种不知所云的变量名,以及完全无用的注释;

6.“if a > 0”恭喜,编译错误,因为,“你那个0是个短整形,而a是个长整/浮点”;

7,你得经常跑到一个函数的开头去看一个变量的定义;

8.write的某个数字超宽了?恭喜你,你得到了一堆星号,谁关心你辛辛苦苦跑出来的数字去哪儿了啊——我当然知道这么做有它固有的原因,不过,这真是“时代的局限”五个字的最好样本之一;

9.各种没有料到的惊喜,酸爽无比,把least surprise原则破坏殆尽。

© 2025 阿力知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com