首页 » Fortran 非常高效(或者说非常高效?

Fortran 非常高效(或者说非常高效?

5/5 - (1 vote)

 

许多 Fortran 开发人员会告诉您 Fortran 非常高效,因此最适合数字运算。但这种说法的逻辑存在问题。更好的说法是:“如果用它来进行数字运算,它就很高效”。或者更好的说法是:“它允许对常见的数字运算任务进行直接而简单的表达,这使得编译器相对容易地为此类任务构建高效的可执行文件”。后一种表述显然不如前两种表述朗朗上口。但事实是,尽管用 Fortran 编写高效代码可能更容易,但 Fortran 并不总是比其他语言表现更好。而且,有了现代 Fortran 方言,编写低效代码甚至也不太难。

Fortran 易于学习

同样,这个说法需要进一步的限定。旧版本的 Fortran(Fortran77)确实很容易学习(对某些人来说)。但许多现代语言如Matlab、Python和R也一样。如果你 最近的手机号码数据 以前从未编程过,你不会觉得 Fortran90(例如)那么容易学习。就我个人而言,我从来都不喜欢 Fortran95 和更高版本中的一些较新的语言结构。我发现其他语言 通过客户兴趣数据集驱动内容推荐系统  在很多方面更加直观。另一方面,较新的 Fortran 版本已经消除了旧版本中一些不幸的选择所造成的许多混乱,例如其(缺乏)内存管理、隐式类型转换和不祥的 GOTO。这让我想到了另一点。易于学习的语言也允许许多未经培训的开发人员构建软件。我们可能都知道这会导致什么结果。在这方面,说 Fortran 易于学习并不一定是一种赞美。

Fortran 擅长 HPC

这无疑是事实。在我使用过的所有高性能计算平台上(除了一个平台),都提供了非常优秀的 Fortran 编译器(尽管 印度尼西亚号码列表  我必须承认,即使在没有 Fortran 的平台,也一直都有 C 编译器)。这可能是因为大量的数字运算代码库都基于 Fortran,而且这类代码通常在超级计算机上运行。Fortran 语言能够快速添加特定的并行结构(例如 Fortran95 中的 FORALL 和 WHERE)。我不太确定这些结构现在有多流行,因为我们现在主要使用OpenMP注释来做类似的事情。但事实是,Fortran 语言很早就学会了处理并行性。而且,除了第二个论点之外,这使得它非常适合高性能计算。

滚动至顶部