FORTRAN,亦译为福传,是英文“FORmula TRANslator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。
中文名FORTRAN
Formula Translation
约翰·巴克斯
公式翻译
简介
FORTRANFORTRAN是英文“FORmula TRANslator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。
早在1951年,美国IBM公司约翰·贝克斯(John Backus)针对汇编语言的缺点着手研究开发FORTRAN语言,并于1954年在纽约正式对外发布。称约翰·贝克斯提出的FORTRAN语言为FORTRANⅠ,FORTRANⅠ虽然功能简单,但它的开创性工作,在社会上引起了极大的反响。到1957年第一个FORTRAN编译器在IBM704计算机上实现,并首次成功运行了FORTRAN程序。
在1958年,对FORTRANⅠ进行了扩充和完善,引进了子函数等概念,推出了商业化的FORTRANⅡ版本。之后,FORTRAN语言发展迅速,多种版本相继在其它计算机上实现。
历史渊源
在1962年,推出了FORTRAN Ⅳ。FORTRAN Ⅳ没有充分考虑兼容性,导致FORTRANⅡ程序不能在FORTRAN Ⅳ系统中运行,使其应用受到了很大限制,这时语言不兼容性问题和影响被突出表现出来。此前也出现过FORTRAN Ⅲ,但由于存在严重缺陷,没有在计算机上实现。
随着FORTRAN语言版本的不断更新和变化,语言不兼容性问题日益突出,语言标准化工作被提上了日程。1962年5月,美国标准化协会(简称ANSI)成立相关机构着手进行FORTRAN语言标准化的研究工作,并于1966年正式公布了两个标准文本:美国国家标准FORTRAN(ANSI X3.9-1966)和美国国家标准基本FORTRAN(ANSI X3.10-1966),前者相当于FORTRAN Ⅳ,后者相当于FORTRANⅡ。基本FORTRAN是美国国家标准FORTRAN的一个子集,从而实现了语言的向下兼容,初步解决了语言的兼容性问题。通常称美国国家标准FORTRAN为FORTRAN 66。FORTRAN 66的推出在国际上产生了广泛影响,1972年国际标准化组织(简称ISO)在FORTRAN 66基础上制定了FORTRAN语言三级国际标准:基本级、中间级和完全级。
20世纪60代末,结构化程序设计方法提出后,具有结构化特征的程序设计语言开始出现,如:ALGOL、PASCAL、MODULA、C等。如何将结构化特征引入FORTRAN 66引起计算机厂商和研究机构的高度重视,许多计算机厂商开始对FORTRAN 66进行不同程度的扩充,引入了结构化特征。针对这种情况,ANSI于1976年对FORTRAN 66(ANSI X3.9-1966)进行了修订,吸收了计算机厂商所扩充的一些行之有效的功能,同时增加了许多新内容。ANSI于1978年4月正式公布了新的美国国家标准(程序设计语言FORTRAN ANSI X3.9-1978),同时宣布撤消ANSI FORTRAN 3.9-1966,通常称新标准为FORTRAN 77(该版本原计划1977年公布)。FORTRAN 77向下兼容FORTRAN 66。在1980年,FORTRAN 77被ISO正式确定为国际标准ISO 1539-1980,该标准分全集和子集。FORTRAN 77推出后,由于具有结构化特征,在社会上得到了广泛应用,同时由于扩充了字符处理功能,在非数值处理领域也能大显身手。
20世纪80年代末,FORTRAN 77结构化和现代化的研究开始兴起,到1991年5月,ANSI公布了新的美国国家标准FORTRAN(ANSI 3.198-1991)。之后,ISO采纳该标准,并确定为国际标准ISO/IEC 1539-1:1991,新国际标准还采纳了我国计算机和信息处理标准化技术委员会程序设计分会提出的多字节字符集数据类型及相应的内部函数,为非英语国家使用计算机提供了极大的方便。通常称新标准为FORTRAN 90,FORTRAN 90向下兼容FORTRAN 77。之后不久又出现了FORTRAN 95。
FORTRAN 90的推出,使传统FORTRAN语言具有了现代气息。Fortran 2003 的规则已经由ISO组织制定发布。
Windows平台下,微软公司将FORTRAN 90无缝集成在Developer Studio集成开发环境之中,推出了Microsoft FORTRAN PowerStation 4.0,使FORTRAN 90真正实现了可视化编程,彻底告别了传统DOS环境(字符界面),转到了现代Windows环境(视窗界面),共享微软公司Windows平台的丰富资源。在1997年3月,微软公司和数据设备公司(Digital Equipment Corp,简称DEC)强强联合,合作研究、开发和推出了功能更强的FORTRAN语言新版本:Digital Visual FORTRAN 5.0,它是Microsoft FORTRAN PowerStation 4.0的升级换代产品。DEC公司在高性能科学和工程计算方面拥有世界领先技术,其高质量的FORTRAN编译器遍及全球。1998年1月,DEC与Compag公司合并,DEC成为Compag公司的全资子公司,于是Digital Visual FORTRAN更名为Compag Visual FORTRAN,其最新版本为Compag Visual FORTRAN 6.6。Compaq和HP合并之后,Compaq的Fortran小组和Intel的Fortran开发小组合并,开发出来Intel Fotran编译器9,有linux和window2个版本,其windows版本为Intel Visual Fortran, 可以和微软的Visual Studio.net集成。Windows平台下还有PGI,Absoft,Intel等多个商业公司的Fortran编译器,还有大量小公司的免费Fortran编译器。
OpenMPI使Fortran等语言可以容易且免费的实现并行计算。
Linux平台下,其gcc编译器默认支持fortran,另外有Intel,Sun Studio,openMPI,Photran等共享编译器和PGI,Absoft,lachy, IBM,SGI,HP等多个版本的商业编译器。
支持Fortran 2003标准的编译器行将推出,新版本的Sun Studio 编译器已经支持部分 Fortran 2003 语法。
体验故事
谢晓亮:回国不是简单的决定,这里的研究机会比哈佛更好
实际上,早在大学阶段,谢晓亮的学习兴趣就非常广泛。他旁听了许多其他院系开设的课程,如物理系的四大力学:经典力学、量子力学、统计力学、电动力学以及无线电系的电子学课,数学系的概率统计课等,这些“跨学科”的知识积累使他受益匪浅。在大一暑假,他就体会了一次“跨学科”带来的小小成就感。谢晓亮在回忆文章中特地提到,大学的第一个暑假,自学计算机编程的他发现了离子晶体的能量是一个无穷级数,需要大的计算量,于是试着写Fortran程序来计算晶体结构的能量。这对当时学化学的他来说,首次用计算机解决这样一个“跨学科”问题,还是非常欣喜的。[1]
初代程序员的AI学习之旅
1958年清华大学获批设立自动控制系,徐老在次年进入该系计算机专业,是专业的第二届学生,。时的计算机还是电子管构造,徐老参与了我国第一台硅晶体管计算机的设计,那个年代“软件开发”还叫做“程序设计”。 徐老从机器语言学起,到汇编、再到FORTRAN,后来在工作中也接触过当时用于开发人工智能的逻辑语言Prolog。从那时起,徐老就对AI产生了兴趣,但工作任务繁重,一直没能抽出时间深入学习。 徐老从小热爱技术,年轻时自己组装过电视机,退休后也没放下,有什么电子产品经常会买来玩玩,也一直在关注世界和我国的科技发展,2016年,AlphaGo战胜李世石的消息,勾起了他当年用汇编语言写下棋程序的回忆。[2]
参考资料1.专访谢晓亮:回国不是简单的决定,这里的研究机会比哈佛更好·澎湃网
2.12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI·科学中国