我读过Fortran仍然大量用于科学计算.对于已经大量投资Fortran的代码,这对我来说很有意义.
但是有理由将Fortran用于其他现代语言的新项目吗?与更流行的语言(C++,Java,Python,Ruby等)相比,Fortran中的语言设计决策是否更适合科学计算?例如,与我提到的其他语言相比,Fortran的特定语言功能是否允许编译器中的数值优化程度更高?
Fortran在计算机语言基准游戏方面的表现令人惊讶地糟糕.今天的结果将Fortran排在第14和第11位,在单核上进行了两次四核测试,第7次和第10次测试.
现在,我知道基准测试从来都不是完美的,但仍然,Fortran经常被认为是高性能计算的语言,看起来这个基准测试中使用的问题类型应该是Fortran的优势.在最近一篇关于计算物理学的文章中,Landau(2008)写道:
然而,[Java]不像FORTRAN和C那样有效或支持HPC和并行处理,后两者具有高度开发的编译器和更多科学的子程序库.反过来,FORTRAN仍然是HPC的主要语言,FORTRAN 90/95是一种令人惊讶的,现代的,有效的语言; 但是,任何CS部门都很难教授它,编译器也很昂贵.
是不是因为语言枪战使用的编译器(英特尔的Linux免费编译器)?