- 第一章 Fortran 语言程序设计初步
- 第二章 改变程序流程
- 第三章 循环结构
- 第四章 数据结构
- 第五章 数组
- 第六章 过程和模块
- 第七章 输入输出和文件
1.1.1 Fortran 的历史
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论