什么是 FORTRAN?

2025年03月17日 | 阅读 9 分钟
What is FORTRAN

Fortran,以前全部大写(FORTRAN),是 Formula Translation(公式翻译)的缩写,是首批为数值计算和科学计算设计的编程语言之一。它至今仍在使用;然而,它是最古老的编程语言1954 年,John Backus 和 IBM 团队开始开发 Fortran。1956 年 10 月 15 日,参考手册向公众发布,第一个编译器于 1957 年发布。

Fortran 是一种命令式编程语言,在科学领域广泛使用,特别是在计算物理学、计算流体动力学以及数值天气预报领域。它经常用于对程序进行基准测试和对世界上最快的超级计算机进行排名,因为它在高性能计算中非常常见。

它是一种编译语言,更具体地说,是一种预编译语言。换句话说,在计算机系统上执行您编写的源代码之前,您必须经历一个称为编译的独特过程。在这方面,Fortran 不同于像 Python 和 R 这样的解释型语言,它们通过解释器运行并直接执行指令,但会牺牲处理速度。

Fortran 具有许多使其适用于科学家的特性,包括

  • 它包含一组丰富的内部函数。
  • 它支持数组表示法,允许对数组切片进行操作。
  • 它对内存指针有严格的别名规则,这有助于在编译后生成更高效的代码。
  • 它内置支持复数和子例程中的参数。

在现代,尽管有 C 和 C++ 等语言的竞争,Fortran 仍然广泛用于在新计算机处理器上运行浮点基准测试。由于在众多科学和工程设备中创建了大量代码,它也经受住了时间的考验。

多年来,Fortran 不断发展。在支持类型扩展和继承、多态性以及动态类型分配等面向对象特性之前,它是一种严格的过程式编程语言。

为什么要学习 Fortran?

Fortran 是工程应用中最流行的编程语言,这使得学习它成为必要。因此,工程毕业生具备理解和修改用 Fortran 编写的源代码的技能至关重要。随着时间的推移,一些所谓的专家偶尔会预测 Fortran 的使用会迅速下降并最终消失。

这些预测一直都是错误的。Fortran 是历史上寿命最长的计算机编程语言。软件惯性是 Fortran 经久不衰并将会继续存在的主要原因之一。多年来,由于在众多科学和工程机器中创建了大量代码,Fortran 得以幸存。

Fortran 基础

Fortran 主要为科学家、工程师和程序员创建。它有一套规则来管理其代码并验证代码是否有效、合法和可编译。Fortran 通过使用一种流行的代码结构术语“语法”来创建程序并向计算机发送命令,该语法结合了字符和保留字。

Fortran 编程的基础知识如下

1. 程序结构

Fortran 程序遵循一种结构,这种语言包含一个用于实现此目的的保留关键字。它使用 PROGRAM 关键字,然后可选地跟随程序名称来启动它,并以 END PROGRAM 关键字结束它。

示例

就像在其他编程语言中一样,您可以在 PROGRAM 语句中声明变量并定义要在这些函数中使用的函数。

2. 变量定义

这些是程序中使用的数据或值。

变量可以引用单个值(例如 1),也可以引用更大的数据结构(例如列表)。它们还可以用于保存文本、单词、数字以及许多其他类型的数据等信息。通常,每个变量表示特定类型的数据。数据类型表示变量将保存的数据类型。它可以是整数或单词(字符串)。例如,x=5,其中 x 是一个变量,它存储了值 5,这表示 x 正在保存整数类型的数据;但是,我们没有定义 x 正在存储什么类型的数据。大多数编程语言都要求您指定某个变量预期保存的数据类型。

在 Fortran 编程语言中,变量声明如下

我们正在使用上面的 Fortran 代码创建两个 INTEGER 变量。这些变量包含一些值。为了指示我们正在创建的数据是带数字的变量,使用了关键字 INTEGER。还有一些其他的,包括 REAL、LOGICAL 等。

3. 读取和写入消息

这允许您快速收集用户输入,例如进行计算,以及查看计算结果或在控制台上打印消息。这本质上为用户提供了一种通过键盘直接将数据输入应用程序的方法,以及一种在控制台上打印消息的方法。

读取:通过使用 READ 函数,FORTRAN 软件被指示记录您在键盘上输入的值并将其存储在您在程序中指定的变量中。您可以在下面看到一个很好的例子

在 Fortran 函数中,Fortran 函数所需的任何输入都位于一对圆括号内(例如 reading (input1, input2, etc.))。当程序运行到 READ 语句时,您将收到提示输入变量并按 Enter。

写入:WRITE 函数与 READ 函数非常相似。它只是在终端屏幕上显示提供的值。例如

此代码将打印出您分配给指定变量的值。

4. 数学运算

为了执行数学运算,Fortran 具有几个内置函数,主要用于数值计算。Fortran 中的加法、减法、乘法和除法运算使用 +、-、*/ 基本函数执行。

5. 决策

这就是程序逻辑的工作方式。例如,大多数计算都在这里进行,这也决定了结果。它在某些方面与我们日常生活中做出的逻辑决策有点相似。例如,我们可以决定“如果下雨,就不要出去;否则我们就带伞自由地出去”。下面是一个逻辑上的例子

决策的组成部分

  • IF 和 THEN 语句。两个关键字 IF 和 THEN 用于在程序中做出逻辑决策。当满足条件时,使用 IF [CONDITION(S)...] THEN 结构执行操作。
  • ELSE 语句。ELSE 语句通常不是必需的;因此,它是可选的;但当您有在条件为假或不满足时想要做的事情时,它会很有用。如果条件不满足,ELSE 语句通常用于输出错误消息。
  • END IF 语句。这是一个表示决策块完成的语句。请务必添加 END IF 语句以结束决策语句。

6. 编译

在运行或执行之前,大多数编程语言通常需要编译或经过一个过程。gfortran 编译器用于将 Fortran 程序编译成计算机可以理解的格式。通过这样做,Fortran 代码被转换为计算机系统易于理解的形式。您需要将文件保存为 .f90 扩展名,然后通过编译器运行它以创建机器代码。在您的终端目录中,您可以运行以下命令

这指示 gfortran 在获取文件 myfile.f90 后为我们创建 myfile 程序以供运行。换句话说,gfortran 编译名为 myfile.f90 的文件。此外,我们可以使用 -o 标志为我们创建的程序指定输出名称。这将在您的目录中创建一个命令行可执行文件 myfile。

Fortran 用在哪里?

在需要计算科学的高性能计算机领域,Fortran 仍然广泛使用。Fortran 程序有各种示例,例如 OFF 流体动力学代码、NEMO(欧洲海洋建模核心)和戈达德空间研究所模型。

因为它易于通过使用这种语言将数学公式转换为代码,所以其性能被气候建模社区快速而充分地理解;因此,Fortran 继续广泛用于各种气候建模应用程序。

2021 年 4 月,Fortran 被 TIOBE 指数(衡量数百种编程语言的受欢迎程度)列为世界上第 20 位最受欢迎的语言。Fortran 在高性能计算领域的持续使用表明它将继续存在;然而,替代编程语言的受欢迎程度在 21 世纪一直在增长。

Fortran 的历史

Fortran 由 IBM 于 1950 年代创建。该语言的第一个编译器于 1957 年发布,Fortran 编程语言的名称是 Formula Translation 的缩写,强调其在数学计算中的预期用途。

Fortran II,该语言的第二代,在一年后发布。此迭代只有 32 条语句,使其成为一种紧凑但功能强大的语言。在随后的十年中,Fortran III 和 Fortran IV 发布。

由于这些早期缺乏语言标准,出现了许多变体和不同的编译器。美国标准协会于 1966 年发布了第一个语言标准以解决此问题。Fortran 66 是这个版本获得流行时给出的名称。

尽管软件行业欢迎统一,但新的变体仍在不断涌现。随着美国标准协会不断更新,语言的新版本,例如 Fortran 77,将被添加。

为了增强编写行内注释和结构化编程,后来的版本添加了诸如块 IF 和 END IF 语句等概念。许多这些创新功能可以在当前的编程语言中找到,例如 C++JavaPython 等。

在过去的 40 年里,许多广泛使用的语言不仅采用了 Fortran 的一些特性,而且也受到了它的巨大影响。Fortran 对 C 和 BASIC 都有着重要的影响。C 可能是世界上使用最广泛的语言,BASIC 是 1980 年代最著名的编程语言之一。

根据一些专家的说法,Fortran 的发展与编译器技术的发展是相似的,因为新的编译器方法是为了更有效地运行 Fortran 程序而开发的。

下面是一个包含 Fortran 简史的表格

年份Fortran 版本
1954FORTRAN
1958FORTRAN II
1958FORTRAN III(从未向公众发布)
1961FORTRAN IV
1972FORTRAN 66
1980FORTRAN 77
1991Fortran 90
1997Fortran 95
2004Fortran 2003,以 ISO/IEC 发布
2010 年 9 月。Fortran 2008,以 ISO/IEC 发布
2018Fortran 2018,仍在开发中,正式名称为 Fortran 2015

Fortran 的优势

Fortran 有很多优点;一些如下所示

  • Fortran 在科学界非常强大。这个领域包含一个强大的工具生态系统。
  • 世界上最快的本机代码是用 Fortran 编写的。这使得它非常适合科学计算。
  • Fortran 是建模超级计算机的绝佳工具,因为它对矢量化进行了高度优化。
  • 与 C++ 相比,现代 Fortran 非常易于阅读和理解。
  • 此外,您不会在 Fortran 中找到像 Python 语言那样糟糕的越位规则语法。

我的写作中应该使用“Fortran”还是“FORTRAN”?

根据 Microsoft 风格指南的建议,写“FORTRAN”时不应使用全大写字母,也不应拼写为“Formula Translation”。如果您讨论的是 Fortran 90 之前的 FORTRAN 版本,则应在写作中使用 FORTRAN。但是,如果您正在撰写有关 Fortran 的现代版本或一般撰写有关 Fortran 的文章,则只需将第一个字母大写。