返回介绍

1.1.1 Fortran 的历史

发布于 2025-03-08 16:28:24 字数 2994 浏览 0 评论 0 收藏 0

a) FortranIªFortranIV

Fortran 是目前国际上广泛流行的一种高级语言,适用于科学计算。Fortran 是英文 FORmula TRANslation 的缩写,意为“公式翻译”。它是为科学、工程问题中的那些能够用数学公式表达的问题而设计的语言,主要用于数值计算。这种语言简单易学,因为可以像抄写数学教科书里的公式一样书写数学公式,它比英文书写的自然语言更接近数学语言。Fortran 语言是第一个真正推广的高级语言。至今它已有四十多年历史,但仍历久不衰,始终是数值计算领域所使用的主要语言。Fortran 语言问世以来,根据需要几经发展,先后推出形成了很多版本。

第一代 Fortran 语言是在 1954 年提出来的,称为 FortranI。它于 1956 年在 IBM 704 计算机上得以实现。在此之前编写计算机程序是极为繁琐的,程序员需要详细了解为之编写代码的计算机的指令、寄存器和中央处理器(CPU) 等方面的知识。源程序本身是用数学符号(八进制码) 编写的,后来采用了助记符,即所谓机器码或汇编码,这些编码由汇编程序转换为指令字。在 50 年代书写和调试一个程序要很长时间,因为用这种方式编写程序显然是很不方便的,尽管它能使 CPU 高效地工作。正是这些原因,促使由 John Backus 率领的 IBM 公司的一个小组研究开发最早的高级程序设计语言 Fortran。其目的是开发一种容易理解、简单易学又能几乎像汇编一样高效运行的语言,他们取得了极大的成功。Fortran 语言作为第一种高级语言不仅是一次创新,也是一次革命。它使程序员摆脱了使用汇编语言的冗长乏味的负担,而且它使得不再只是计算机专家才能编写计算机程序,任何一名科学家或工程技术人员,只要稍加努力学习和使用 Fortran,就能按自己的意图编写出用于科学计算的程序。

经过不断发展,FortranI 形成了很多不同版本,其中最为流行的是 1958 年出现的 FortranII,它对 FortranI 进行了很多扩充(如引进了子程序),FortranII 在很多机器上得以实现。其后出现的 FortranIII 未在任何计算机上实现。1962 年出现的 FortranIV 对原来的 Fortran 作了一些改变,使得 FortranII 源程序在 FortranIV 编译程序下不能全部直接使用,导致了语言不兼容的问题。这样就形成了当时同时使用 FortranII 和 FortranIV 两种程序设计语言的局面。

正因为 Fortran 满足了现实的需要,所以它传播得很快,在传播和使用过程中不可避免地产生了多种版本。各种 Fortran 语言的语义和语法的规定又不完全一致,这给用户带来了极大的不便。用户迫切希望有能在各种机型上能互换通用的 Fortran 语言。因此 Fortran 语言的标准化工作变得十分迫切。1962 年 5 月,当时的美国标准化协会 ASA(American Standard Association)(后来改名为 ANSI—American National Standards Institute,现名为 NIST—National Institute of Standards and Technology) 成立了工作组开展此项工作,1966 年正式公布了两个美国标准文本:标准基本 Fortran X3.10-1966(相当于 FortranII) 和标准 Fortran X3.9-1966(相当于 FortranIV)。

由于 Fortran 语言在国际上的广泛使用,1972 年国际标准化组织(International Standard Organization、简称 ISO) 公布了 ISO Fortran 标准,即《程序设计语言 FortranISO 1539-1972》,它分为三级,一级 Fortran 相当于 FortranIV,二级 Fortran 介于 FortranII 和 FortranIV 之间,三级 Fortran 相当于 FortranII。

FortranIV(即 Fortran66) 流行了十几年,几乎统治了所有的数值计算领域。许多应用程序和程序库都是用 FortranIV 编写的。但很多编译程序并不向这一标准靠拢,它们往往为实现一些有用的功能而忽略标准;另外,在结构化程序设计方法提出以后,人们开始感到 FortranIV 已不能满足要求。FortranIV 不是结构化的语言,没有直接实现三种基本结构的语句,在程序中往往需要用一些以 GOTO 语句以实现特定的算法;而且为了使非标准的 Fortran 源程序能够交换移植,产生了“预处理程序”,通过预处理程序读入非标准的 Fortran 源程序,生成标准的 Fortran 文本,从而实现了源程序的交换移植,但这种自动生成的 Fortran 程序通常让人难以理解。

b) Fortran77ªFortran90

美国标准化协会在 1976 年对 ANSI X3.9-1966 Fortran 进行了修订,基本上把各厂家行之有效的功能都吸收了进去,此外又增加了不少新的内容,1978 年 4 月美国标准化协会正式公布将它作为美国国家标准,即 ANSI X3.9-1978 Fortran,称作 Fortran77。1980 年,Fortran77 被接受为国际标准,即《程序设计语言 FortranISO 1539-1980》,这种新标准并不是各非标准 Fortran 的公共子集,而是自成一体的新语言。我国制订的 Fortran 标准,基本采用了国际标准(即 Fortran77),于 1983 年 5 月公布执行,标准号为 GB3057-82。Fortran77 还不是完全结构化的语言,但由于增加了一些结构化的语句,使 Fortran77 能用于编写结构化程序。此外,还扩充了字符处理功能。使 Fortran 不仅可用于数值计算领域.还可以适用于非数值运算领域。

因为 Fortran77 有着明显的局限性,为了引入一些新的功能,适应语言的发展,ANSI 在 80 年代初期开始准备制定 Fortran8x 标准。当初为了与前一标准相对应,设想是 x=8。由于要将 Fortran77 作为一个子集,同时又要确保程序的高效率,其标准化的工作花了十几年,最终在 1991 年通过了 Fortran90 新标准 ANSI X3.198-1991,相应的国际化标准组织的编号为 ISO/IEC1539:1991。新的 Fortran 标准废弃了过时的严格的源程序书写格式,改善了语言的正规性,并提高了程序的安全性,功能有更大的扩充,是一个能适应现代程序设计思想的现代程序设计语言。为了保护对 Fortran77 用户在软件开发上的巨大投资,整个 Fortran77 被作为 Fortran90 的一个严格子集。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文