关于fortran的4个事实
- fortran的名称来源于formula translation(公式翻译)的名称。
- 最初,名称的拼写形式为全大写的fortran,后来改为fortran。
- fortran是第一个广泛使用的高级计算机编程语言。
- fortran作为一种高性能计算语言,被世界上最快的超级计算机所使用。
什么是fortran:解释
fortran是一种适用于科学计算和数值计算的通用计算机编程语言。自20世纪50年代开始,fortran在计算密集型领域占据主导地位。这些计算领域包括有限元分析、计算化学、地球物理学、数值天气预报、晶体学、计算物理学和计算流体力学。
fortran创始人约翰·巴克斯
fortran仍然是一种高性能计算语言。因此,世界上大部分最快的超级计算机都采用它来进行编程。这种编程语言自问世以来已经有过几个版本。每个fortran版本都添加了扩展功能,但仍保持与以前版本的兼容性。随着每个版本的推出,fortran添加了对基于字符的数据处理、结构化编程、数组编程、泛型编程等的支持,仅举几例。
快速事实
- 创始人(人)
- 约翰·沃纳·巴克斯
- 操作系统
- ibm power system
- 开发公司
- ibm
其他几种编程语言基于fortran的设计而出现。最流行的是basic,它的基础是fortran ii,具有改进的逻辑结构和几个语法清理。fortran在继续攀登高峰的同时,不断向上攀升。2025年8月,fortran计算机编程语言在衡量编程语言流行度的tiobe指数中排名第13位。
这是一个显着的进步,考虑到它在2020年8月的排名是第42位。fortran在一年内上升了29个名次,这值得赞扬。
如何使用fortran
通过学习fortran编程教程,您可以更好地了解如何使用它。基本上,现代fortran程序由一组程序单元组成,例如主程序、外部子程序和模块。每个程序都有一个主程序,可能还有其他程序单元。
所有fortran程序都以关键字program开头,以关键字end program结尾,最后程序名称在末尾关闭。有一个隐含的none语句,使得编译器能够确认您是否正确声明了所有的变量类型。在开始任何fortran程序之前,请确保使用隐含none。
fortran的注释以感叹号开头,编译器会忽略标记后的所有字符,但不包括字符字符串。print命令用于在屏幕上显示数据。您可以在fortran中使用小写字母和大写字母,但字符串文字除外。此外,fortran通过对代码行进行缩进来保持程序的可读性。
标识符是用于标识过程、变量或其他用户定义项的名称。您在fortran中使用的名称需要遵守以下规则:
- 不超过31个字符
- 包含字母数字字符。包括所有字母、数字0-9和下划线。
- 名称的第一个字符必须是字母。
以下是关于如何编写和编译简单fortran程序的指南:
- 编写“hello world”程序。这通常是任何编程语言中的初始程序。当它在屏幕上打印时,请确保每行之前都有六个空格。
- 编译程序。为此,请在命令行中键入f77 helloworld.f。如果出现错误,可能缺少fortran编译器。安装它并重复该过程。
- 运行程序。如果编译器生成名为a.out的文件,请在命令行中键入/ a . out
- 理解您所编写的内容。程序helloworld显示程序的开头,而end program helloworld显示程序的结束。
- 添加注释。在简单程序中可能不需要添加注释,但在运行更复杂的程序时可能需要编写。您可以通过两种方式添加注释:第一种选择是在注释开始的行中放置一个感叹号(!)。
第二种选择是在新行中写入“c”,没有六个空格,并在此后写下您的注释。为了易读性,请在“c”和您的注释之间留出一些空间。
如何学习fortran
fortran易于学习和实施。幸运的是,有许多免费的fortran教程和在线图书可以帮助您学习。其中一些最好的包括:
- https://fortran-lang.org/learn/
- https://www.tutorialspoint.com/fortran/index.htm
- https://www.fortrantutorial.com/
- https://web.stanford.edu/class/me200c/tutorial_77/
fortran和c++的区别
c++是一种支持多态和继承的面向对象的编程语言。fortran通过结合其module语法元素和type来模仿一些面向对象的特性。然而,fortran 90没有自动继承。
另一方面,fortran对于科学计算而言比c++更易学易用。它原生支持复数、多维数组和其他特殊函数。现代fortran增加了像数组理解这样的数组功能,而c++缺乏这些功能。
就速度而言,c++通常比fortran更快。但差距并不大。fortran仍然以更快的速度执行其过程。
fortran发布历史
尽管konrad zuse的plankalkul是世界上第一种高级编程语言,但发明者的想法和项目只存在于纸上。第一个有效的高级计算机编程语言是约翰·巴库斯的fortran。约翰·华纳·巴库斯是哥伦比亚大学数学学士学位毕业生,当时在ibm计算机中心担任程序员,他于20世纪50年代发明了他的第一种计算机编程语言。
他的发明的目的是处理选择性序列电子计算器(ssec),这是一台具有约23,000个电气机械继电器和13,000个真空管的电动机械计算机。ibm计算机中心于1948年1月建造了ssec。ibm的沃森科学计算实验室主任沃勒斯·j·埃克特在ssec上进行了20年后将出现在阿波罗航天计划中的月球轨道ssec计算。自从ssec的发明以来,参与其中的人们发现编程是一项艰巨的任务。这是因为没有人设定了正确的方法。约翰·巴库斯花了三年时间研究ssec,并试图对其进行编程。
ibm ssec计算机
就在那个时期,他提出了一个被称为速度编码的程序。这个程序是第一个并且是唯一一个结合了缩放因子的程序,这使得可以存储和操作小数和大数。1953年底,约翰·巴库斯向他的上司写了一份提案,概述了他为ibm的701型大型机设计的编程语言。ibm批准了约翰·巴库斯的想法,并于1954年任命他在ibm沃森科学实验室领导一支小团队。
巴库斯的团队包括以下程序员:理查德·戈德堡、彼得·谢里丹、谢尔顿·f·贝斯特、哈兰·赫里克、罗伊·纳特、哈罗德·斯坦姆、欧文·齐勒、罗伯特·尼尔森、大卫·塞尔和洛伊丝·海伯特。1954年5月,ibm推出了一台新计算机,名为ibm 704数据处理系统。它是一台先进的计算机,配备了磁鼓存储器、高速磁芯内存和磁带设备。
ibm 704计算机还具有内置的比例因子(自动浮点运算),索引寄存器和能够容纳500万个字符的能力。有了这些功能,计算机的运行时间显著减少。然而,在那个时候,存在一些低效的计算机程序,这妨碍了ibm 704的高性能。这促使巴卡斯考虑设计一种更快、更易于程序员使用的编程语言,用于与计算机一起工作。
ibm 704数据处理系统
根据巴卡斯的说法,这种编程语言将使计算机能够接受关于数学概念的简明问题表述,并自动生成高速的704程序来执行其功能。以下是ibm fortran发展的简介。
fortran i(1957年)
1954年11月,巴卡斯与他的团队提出了该编程语言的第一个提案。当时,巴卡斯预计在六个月内完成编译器。但实际上,巴卡斯花了近三年的时间才发布了1957年的第一个商业fortran编译器。编译器完成后,fortran编译器在磁带上保存了大约25000行机器代码。随着每个ibm 704的安装,你可以获得该程序的副本和一个51页的手册。
这是最初的优化编译器,因为许多客户不愿使用高级编程语言。他们希望编译器生成的代码性能与手工编写的汇编语言相似。科学家和数学家广泛采用了john backus的计算机编程语言来编写数值密集型程序。这一举措鼓励编译器编写者开发具有更快、更高效的代码生成能力的编译器。
fortran ii(1958年)
通过在编程语言中添加复数数据类型,fortran变得适用于电气工程等技术应用。1958年,ibm开发了fortran ii。主要改进是通过启用用户编写的函数和子程序来提升过程式编程。fortran ii还增加了声明,包括子程序、调用、函数、返回和结束。随着时间的推移,fortran ii还增加了对复杂数据类型和双精度的支持。
fortran iii(1958年末)
同年,ibm还推出了具有内联汇编代码和其他功能的fortran iii。不幸的是,ibm从未将该版本作为产品发布给公众。到1960年,ibm计算机可用多个fortran版本。随着fortran的流行度不断增长,竞争的计算机制造商开始为其机器提供fortran编译器。因此,到1963年,已有40多个fortran编译器存在。
fortran iv(1961年)
由于公众需求,ibm于1961年开始开发fortran iv。fortran iv消除了fortran ii的机器相关特性,并添加了新功能,如逻辑数据类型。到1965年,fortran iv必须符合美国标准协会的标准。与此同时,fortran iv开始成为重要的教育工具,教育机构如滑铁卢大学也开始使用它。
fortran 66(1966年)
1966年,美国标准协会(现为ansi)决定成立一个委员会,在bema的支持下制定美国标准fortran。通过这个过程,fortran 66诞生并成为fortran的初始行业标准版本。在fortran 66标准发布之后,编译器供应商还包括了其他扩展功能。此举促使美国国家标准协会(ansi)于1969年开始在cbema的支持下修订fortran 66。
fortran 77(1978年)
新的fortran标准fortran 77于1978年4月正式获得批准。这个版本增加了一些功能,以解决fortran 66的缺陷。由于编程和计算服务的快速变化,创建一个更新的标准以取代fortran 77存在延迟。
fortran 90(1992年)
后来,1992年,备受期待的继任者fortran 90向公众发布。这个修订版改变了官方名称的拼写,从fortran变为fortran。fortran 90还具有新功能,以展示自1978年标准以来的重大编程变化。
其中一些功能包括内联注释、模块、自由格式源输入、标识符、递归过程等。与以前的修订版不同,fortran 90没有删除任何现有功能。
1995年,fortran进行了一个小的修订,以解决fortran 90标准中的一些问题。然而,fortran 95还添加了一些来自高性能fortran规范的新扩展功能。
fortran:持续发展
2003年标志着支持面向对象编程的现代fortran的开始。fortran 2003引入了诸如输入/输出增强、数据操作增强、过程指针等新功能。
2010年,fortran 2008问世。这是一个小的升级,涉及对fortran 2003的修正和澄清,并包括一些新能力。这些能力包括子模块、共数组fortran和连续属性。
编程语言的后续修订于2018年11月发布,被称为fortran 2018。这是一个重大修订,包括了上一版本的新功能。这种新的编程语言继续被全球的科学家和数学家使用。