浅谈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字
- 浅谈Fortran语言
- fortran 语言总结
- fortran 语言总结
- fortran 语言使用
- Fortran:科学计算语言大哥大
- Fortran调用C语言小计
- 第一个高级语言:FORTRAN
- Fortran
- fortran
- fortran
- Delphi 与 FORTRAN语言的混合编程
- 著名编程语言Fortran创始人巴库斯
- Delphi 与 FORTRAN语言的混合编程
- 用R语言调用Fortran子程序
- Fortran语言编程实现读取数据文件行数
- C/C++/Fortran混合编程浅谈------直接链接方式
- 浅谈语言
- f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码
- 理解java静态绑定和动态绑定
- Jquery动态插入li元素
- Eclipse使用JDBC快速连接MySQL数据库
- Android之View的知识(getWidth() 和getMeasuredWidth区别 如何在oncreate获取宽高)
- Java发展史
- 浅谈Fortran语言
- SpringMVC 拦截器不拦截静态资源的三种处理方式
- 利用反向ssh从外网访问内网主机
- Leetcode Problem -- 697
- MySQL数据库 之 数据库的基本操作
- 最短路径算法实现
- Failed to bind NettyServer on /192.168.49.1:20880, cause: Failed to bind to: /0.0.0.0:20880
- Linux schedule 1、调度的时刻
- Linux schedule 2、调度算法