Fortran的传说

平常里,谁要是写个上万行的代码,全在一个文件里,肯定要被骂死的,但在Fortran世界里却司空见惯。

Fortran的计算速度是真的快,C++也比不上。但是,在科学计算领域之外,Fortran却只是偶像派,一点儿点儿实力都没有。

Intel的P4 CPU,号称傻快,即CPU主频很高,程序却跑不快。不过,Fortran却恰恰能在这个傻快的CPU上跑起来,因为只有Fortran能把P4的流水线灌满。

其实,Fortran里也有了面向对象。不过好象却是用个“%”表示对象操作,Intel的程序员也看不过去了,好象用“.”也行了。总之,Fortran里的面向对象还是鸡肋状态。主流Fortran程序还是面向过程的。

Fortran的兼容性真好,几十年前的代码一样跑。毕竟主流Fortran程序还多是用F77标准写的,三十年前的标准啊!

Fortran就没有个主流的IDE,至于重构、动态编译这些功能想都别想。

用Fortran写GUI、访问数据库,纯属恶梦。至于处理XML,想都别想,除非你愿意自己写个XML解析器。

目前,最积极的Fortran编译器厂商是Intel,这也从侧面反映了Fortran的问题所在。它根本就不是给软件开发人员用的!它是给科学计算,最大程度利用CPU的计算能力的需求用的。Intel实际是为了卖CPU才支持Fortran的。

Fortran的快也好理解:根本没有什么对象、内存管理的负担,只有大数组被手工地转来转去,当然快了。连个变长的字符串都没有,List、Map这些常用数据组构都根本不存在。

科学计算里有本圣经叫《数值菜谱》,到第三版那家伙舍了Fortran不用,非要用C++实现算法。结果,他整个儿是用Fortran的风格写的C++代码。Fortran的人看不懂,C++的人看了也直摇头。

Fortran的主要使用者是科学家,不是职业程序员,这就是Fortran世界里种种怪现象的根源。Matlab等软件在普通科学计算领域对Fortran的威胁越来越大了,甚至可以取而代之,但在高性能计算领域里还不成气候。

总之,在需要榨干CPU最后一滴油水的高性能科学计算领域里,Fortran的霸主地位是无可动摇的。但在这个领域之外,在动态语言兴盛的今天,Fortran只能是一个永远的传说了。

Advertisements
此条目发表在未分类分类目录。将固定链接加入收藏夹。

2 Responses to Fortran的传说

  1. 说道:

    学习了,领教了,顶!

  2. Hanyu说道:

    紧跟师兄留言。写的很有意思。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s