FORTRAN在计算上的优势?
1楼的说了半天,根本没解释我关心的“为什么适合工程计算”;或者说,fortran能写的工程计算软件c/c++也能写,和fortran相比有什么差别,为什么会有这样的差别
谢谢gzlu从库的角度分析fortran的优势,还有其他解释吗? 展开
优势如下:
1、FORTRAN历史悠久
自成立以来,距第一个FORTRAN计划诞生已有近50年的时间。长期以来,FORTRAN一直是科学计算语言的唯一选择。相比之下,C / C ++和Matlab迟了将近20年。
2、FORTRAN具有严格的语法要求
FORTRAN更适合严格的科学计算领域。就像C不会检查数组越界一样,如果访问了错误的地址,则计算结果是不可预测的。
3、FORTRAN可以直接对数组和复数进行运算
像C来完成两个矩阵的加法执行两个循环,或调用具有5个形式参数的函数一样,尽管C ++可以完成C = A + B的简单形式,但是基于矩阵类的定义及其成员函数,在重载运算符的基础上,矩阵的初始化成为矩阵类的初始化,增加了工作量。
而FORTRAN可以直接完成矩阵C = A + B。
4、FORTRAN是编译语言
与Matlab相比,FORTRAN是一种编译语言,Matlab与解释型语言类似,并且循环效率更高,因此,如果Matlab要使用很多循环,则必须调用C / C ++或FORTRAN程序。
扩展资料:
Fortran是矩阵运算最方便的语言,通常用于高能物理学,气象学,航空航天等领域的方程计算问题,计算矩阵(array)的计算非常有效。
MKL和IMSL是著名的数学库,Fortran在某些领域仍然受欢迎的原因是,一方面,Fortran具有强大的数学运算能力和高效率。 另一方面,这是因为前辈对于许多问题都有成熟的代码,所以直接使用即可,而不是先考虑算法的答案,然后再对其进行改进。
矩阵越大,方程越复杂,Fortran和matlab这两种语言之间的差异就越大。
不过我的老师是个牛人,听他说的这些:
FORTRAN作为为一专门的科学计算语言,其地位到目前为止还是不可动摇的。现今常用与科学计算方面的语言还有,C/C++语言,Matlab语言,FORTRAN与它们比起来有着得天独厚的优越性。
1、FORTRAN历史悠久,底子后,从第一个FORTRAN程序诞生到现在接近50年啦,很长一段时间内是科学计算语言的唯一选择,期间积累的大量的正确、可靠的程序,尽管FORTRAN标准该了多次,但由于其向下兼容,很多程序是招值即来,来之能战。现比之下,C/C++,Matlab晚了近20年
2、FORTRAN语法要求严格,更适合严谨的科学计算领域。像C中并不对数组越界进行检查,如果访问到错误的地址其计算结果是无法预测的。
3、FORTRAN可直接对数组和复数进行运算。像C完成两个矩阵的加要进行两次循环,或者是调用一个带5个形参的函数,C++虽然可以完成C=A+B的简单形式,但是它建立在定义矩阵类及其成员函数,再对运算符进行重载的基础上,前期工作繁琐,而且对矩阵的初始化变成了对矩阵类的初始化
,增加的工作量。而FORTRAN可以直接完成矩阵的C=A+B
4、与Matlab相比,FORTRAN是编译语言,Matlab类似与解释语言,循环效率高的多,所以如果Matlab要大量使用循环就不得不调用C/C++或FORTRAN程序。
5、并行计算中FORTRAN的地位是不可替代的,在并行计算领域FORTRAN是独领风骚
FORTRAN语言中文叫公式翻译语言,是IBM公司发明的计算机高级语言。是我国六七十年代流行的两大编程语言之一,用于较大的机种。七十年代末起,用于PC。
FORTRAN语言逻辑性强,程序结构清晰,语法语义简捷好懂,特别适合用于科学计算,数据采集处理,调用绘图库(例如GKS,DISPLA等)可以绘图 。大型 MainFrame 计算机,DEC 计算机 等都用 FORTRAN。
从FORTRAN90开始,加入了可视化。现在叫Compag Visual FORTRAN。 可以在 MS Visual Studio 里工作。
凡C,C++ 能干的活,FORTRAN都能做。
近十年来 FORTRAN 不如 C,C++ 流行。主要因为FORTRAN编译器价格贵。不像C,C++ 有免费的版本。unix 和 工作站流行推动了C的传播,同时MainFrame,DEC的退役,老互联网BITNET消亡,使FORTRAN失去了主要的硬件基础。微软视窗统治了PC世界,与微软视窗紧密结合的VC++比FORTRAN好用。FORTRAN能干的活,C,C++ 都能干。