浅谈Fortran语言

来源:互联网 发布:被淘宝网店诈骗 编辑:程序博客网 时间:2024/06/05 22:36

Fortran作为世界上最早出现的计算机高级程序设计语言,是约翰·巴科斯在IBM工作时为了缩短编程时间而设计的一种语言,这个项目后来被称为了“公式翻译”(“FormulaTranslation”)。

在巴科斯大学将近毕业的时候,他参观了IBM计算机中心,看到当时的一台可选循序电子计算机(SSEC),这台计算机体积非常庞大,占据很大的一个房间,在其中密布这仪表和线路。后来巴科斯就在这家公司里工作了,工作压力可不小(然而他乐在其中呢)。

当时的机器实际上并不是现代意义上的计算机,它没有储存软件的存储器,每次都需要考穿孔带“喂”进去。那台SSEC有着成千上万个电子机械部件,运行起来并非十分可靠,大概每三分钟就会出错,然后停止运行,程序员们必须想办法让它重新启动。

而程序员们在编写程序上也是十分的艰难,每一条程序都是一串长长的数码。在巴科斯开发了Speedcoding利用浮点数来支持运算的程序后,在1951年他跟他的精英团队便着手于打造这款“能让编程更容易”的语言,最终在1954年正式对外发布。

从此一改过去全用机器语言或编程语言编写程序的局面,也大大缩短了程序员们花在程序排错上的时间,是计算机高级程序设计语言的开端,为往后其他高级语言的开发提供了重要参考。

求5的阶乘
*汇编语言

DATAS SEGMENTNUM  DW 5SUN  DW 0DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV CX,NUMMOV AX,1MOV SI,1L1:MUL SIINC SILOOP L1    MOV SUM,AXMOV AH,4CHINT 21HCODES ENDSEND START

*Fortran

fact=1do 10,n=1,5,1    fact=fact*n10 continueprint*,factend

Fortran的优越性便可见一斑,当然,现在肯定不能够再用汇编语言甚至是机器语言来做比较啦,显然毫无意义。然而,即使是拿Fortran跟现在其他的许多高级语言相比较,在某些方面Fortran还是有那么一点优势的,比如数学计算性能方面。

以下是博主YTYT2002YTYT曾经分别在C#、C++和Fortran上做的测试。(测试的代码这里就不贴了)

测试结果如下:
测试结果
测试结果

虽然Fortran现在仍然在不断更新换代以适应新的编译需求,但这款历史悠久的语言似乎已经被大部分人所丢弃了。在Python、Ruby等新生代脚本语言的蓬勃发展中,Fortran能够继续称霸的境地或许就只还有数学计算性能方面吧。

688字

原创粉丝点击