不知不觉接触Fortran已经一年多了,在体会到Fortran在做数值计算上的强大之后,也逐渐开始认识到这门语言的不足。曾经叱咤计算风云的Fortran是否还能风光依旧?

2012年6月份的编程语言排行榜上,Fortran已经沦落到29位。说起Fortran很多编程新手或许都闻所未闻,然而在编程语言的初级阶段,Fortran是第一个真正意义上的高级语言,被广泛应用于科学计算领域。从1951年IBM着手开发Fortran开始,Fortran已经走过60多个年头。版本几经更新,最终在Fortran77达到一个顶峰,科学计算领域一时之间无出其左。饶是C语言之类的后起之秀,在计算方面的效率也稍逊Fortran一筹。

而然,就是这么一个风光无限的语言,最终开始走下坡了。一方面,从80年代开始C语言系和面向对象的崛起,使得Fortran逐渐式微,另一方面,随着计算机的普及,纯粹的科学计算变得不是那么重要,而且,处理图形界面,Fortran心有而力不足。再者,诸如matlab、mathematica等一系列的专业计算软件的出现,使得纯粹的编程开始显得过于繁琐。

对于Fortran自身,也有着一系列的问题。作为一门高级编程语言,只适合于计算,更多的是面向过程。让人更注重算法的实现,而不是算法的使用,多少有些舍本逐末的感觉。这也导致了一些Fortran函数库的产生,如著名lapack库等。其次,是Fortran的格式问题。整体看上去,Fortran的格式很随意,不管是77还是90,整体感觉代码很乱。既不像C语言那样用{}进行模块化处理,也不想Python那样用空格格式化。尤其是77,行标号的使用,DO循环竟然能用continue结束,这在C语言里几乎是不可理喻的东西。大小不区分又是一个混乱的根源,如同Basic一样,大小写不分,给人一种不严谨的感觉。

Fortran之所以依旧活跃在计算领域的很大一部分原因是有相当一部分软件是用Fortran做计算的,例如早期的matlab、gaussian等一批专业软件,还有一方面就是现成的函数库如上文提到的Lapack库等。除却这些之外,Fortran明显缺乏创造力,很难在非计算领域有所作为。即便是计算,也开始逐步退居二线。

作者 hsyyf

《fortran是否风光依旧?》有3条评论
  1. 我并不一定这么认为
    现在一般没人写F77了,一般人写的是F90或者更高版本
    并且编译时F77和F90是分开编译的

    另外C系的语言在矩阵运算上写起来很不舒服

    并且我觉得泛型上说,interface比C++的template好看

    并且一般fortran主要和mpi一起用,我不知道python的mpi支持如何

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注