跳转到内容

Fortran/历史

75% developed
来自维基教科书,开放的书籍,为开放的世界
(从 Fortran/Versions 重定向)
IBM 704,Fortran 最初的目标平台。

Fortran 由 IBM 的 John Backus 领导的团队于 1957 年创建。最初,名称完全用大写字母写,但当前的标准和实现只需要第一个字母大写。名称 Fortran 代表 FORmula TRANslator。它最初专门针对科学计算,因此对处理字符串的支持非常有限,并且缺乏其他对通用编程语言很重要的规定,而这些规定将在其成功的首秀之后在随后的广泛发展中实现。直到 C 语言流行起来之前,Fortran 都是少数几个在不同计算机系统之间具有合理可移植性的高级语言之一。几个网站表明,Fortran 的工作始于 1954 年,并于 1957 年投入商业使用。据信,第一个成功的 Fortran 小程序编译是在 1954 年 9 月 20 日完成的。

Fortran 版本

[编辑 | 编辑源代码]
编程语言家族树,重点关注 Fortran/Speedcoding 和 COBOL/FLOW-MATIC。除了 Fortran 的当代版本之外,许多编程语言都受到 Fortran 早期版本的影响。

Fortran 已经有了多个版本。FORTRAN I、II、III 和 IV 被认为已过时,包含了许多与机器相关的特性。FORTRAN 66 是第一个标准化版本,于 1966 年发布。所有后来的 Fortran 版本都以发布标准的年份命名。目前仍在使用的 Fortran 版本中最常见的是 FORTRAN 77、Fortran 90 及更高版本。

在 FORTRAN II 中,IF 语句的形式为:IF (numeric_expression) label_if_negative, label_if_zero, label_if_positive。它还有一种奇怪的字符串文字类型,称为 Hollerith 文字(以打孔卡的发明者 IBM 的 Hollerith 命名)。现在人们可能会编码 'hello',而 FORTRAN II 使用 5Hhello。但是,没有字符串变量类型。

FORTRAN IV 添加了 IF/THEN 概念、逻辑表达式的概念,以及 .AND.、.OR.、.EQ.、.NE. 等运算符。复数作为基本类型也被添加。

FORTRAN 77 添加了字符串作为一种不同的类型。

Fortran 90 添加了各种线程和直接数组处理。

Fortran 2003 添加了面向对象的特性、派生类型、与 C 的语言互操作性、数据操作以及许多 I/O 增强功能。

Fortran 2008 添加了共数组和并行性以及子模块。

Fortran 2018 添加了更多 C 互操作性和并行性特性。

尽管 Fortran 成为一种标准化语言的时间很早,但许多公司都有自己的扩展。奇怪的是,IBM 和 DEC 几乎拥有相同的扩展集。

不同版本之间的差异

[编辑 | 编辑源代码]
Fortran 的早期版本通常与打孔卡一起使用。从 FORTRAN 90 开始,当代 Fortran 版本不再关心过时的格式。
  • FORTRAN 66 注释由第 1 列中的 C 字符表示,而 FORTRAN 77 注释也可以使用第 1 列中的 *。Fortran 90 还允许使用 ! 字符。
  • FORTRAN 77 符号名称的长度限制为 6 个字符,而 Fortran 90 允许名称最长为 31 个字符。
  • FORTRAN 77 文件需要在单词开始之前留出 6 个空格,而 Fortran 90 不需要(因为它使用自由格式代码风格)。
华夏公益教科书