【51CTO獨家特稿】當51CTO拿到2010年3月程式語言排行榜時,發現Fortran已經悄然躋身前20。相信這樣的一個結果,會讓已經於07年在家中辭世的圖靈獎獲得者John W. Backus感到欣慰。可以說,是Fortran打開了現代計算的大門,從此人類的計算能力跨入了一個新的紀元。
大家先來看一下這次2010年3月的程式語言排行榜榜單。
3月編程榜前20名榜單
比較有意思的是,Objective-C是上升勢頭最明顯的程式語言,而谷歌Go則經歷了誕生後的首次略微下滑。此外,Fortran取代Lisp/Scheme挺進前20;Matlab則上升6位,接近成為最流行的程式語言之一。
TIOBE開發語言排行榜每月更新一次,依據的指數是基於世界範圍內的資深軟體工程師和第三方供應商,包括谷歌、微軟等巨頭公司均參與統計,其結果作為當前業內程序開發語言的流行使用程度的有效指標。
Fortran歸來 皆因並行計算火熱
Fortran,亦譯為福傳,是英文「FORmula TRANslator」的縮寫,譯為「公式翻譯器」,它是世界上最早出現的計算機高級程序設計語言,廣泛應用於科學和工程計算領域。Fortran語言以其特有的功能在數值、科學和工程計算領域發揮著重要作用。
可以說Fortran在並行計算以及高性能計算方面有其獨到之處,相信此次Fortran的歸來,也是與目前並行計算紅火有關。關於並行計算,51CTO之前也曾報導過《.NET4並行計算支持歷史》等文章。並行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程。為執行並行計算,計算資源應包括一臺配有多處理機(並行處理)的計算機、一個與網絡相連的計算機專有編號,或者兩者結合使用。並行計算的主要目的是快速解決大型且複雜的計算問題。此外還包括:利用非本地資源,節約成本 ― 使用多個「廉價」計算資源取代大型計算機,同時克服單個計算機上存在的存儲器限制。可以說,並行計算在一定程度上就是「雲計算」的縮水版,
早在1951年,美國IBM公司約翰•貝克斯(John Backus)針對彙編語言的缺點著手研究開發Fortran語言,並於1954年在紐約正式對外發布。稱約翰•貝克斯提出的Fortran語言為FortranⅠ,FortranⅠ雖然功能簡單,但它的開創性工作,在社會上引起了極大的反響。到1957年第一個Fortran編譯器在IBM704計算機上實現,並首次成功運行了Fortran程序。在這裡我們要向已經辭世的大師John W. Backus致敬。
Fortran之父John Backus
在1958年,對FortranⅠ進行了擴充和完善,引進了子函數等概念,推出了商業化的FortranⅡ版本。之後,Fortran語言發展迅速,多種版本相繼在其它計算機上實現。
在1962年,推出了Fortran Ⅳ。Fortran Ⅳ沒有充分考慮兼容性,導致FortranⅡ程序不能在Fortran Ⅳ系統中運行,使其應用受到了很大限制,這時語言不兼容性問題和影響被突出表現出來。此前也出現過Fortran Ⅲ,但由於存在嚴重缺陷,沒有在計算機上實現。
隨著Fortran語言版本的不斷更新和變化,語言不兼容性問題日益突出,語言標準化工作被提上了日程。1962年5月,美國標準化協會(簡稱ANSI)成立相關機構著手進行Fortran語言標準化的研究工作,並於1966年正式公布了兩個標準文本:美國國家標準Fortran(ANSI X3.9-1966)和美國國家標準基本Fortran(ANSI X3.10-1966),前者相當於Fortran Ⅳ,後者相當於FortranⅡ。基本Fortran是美國國家標準Fortran的一個子集,從而實現了語言的向下兼容,初步解決了語言的兼容性問題。通常稱美國國家標準Fortran為Fortran 66。Fortran 66的推出在國際上產生了廣泛影響,1972年國際標準化組織(簡稱ISO)在Fortran 66基礎上制定了Fortran語言三級國際標準:基本級、中間級和完全級。
20世紀60代末,結構化程序設計方法提出後,具有結構化特徵的程序設計語言開始出現,如:ALGOL、PASCAL、MODULA、C等。如何將結構化特徵引入Fortran 66引起計算機廠商和研究機構的高度重視,許多計算機廠商開始對Fortran 66進行不同程度的擴充,引入了結構化特徵。針對這種情況,ANSI於1976年對Fortran 66(ANSI X3.9-1966)進行了修訂,吸收了計算機廠商所擴充的一些行之有效的功能,同時增加了許多新內容。ANSI於1978年4月正式公布了新的美國國家標準(程序設計語言Fortran ANSI X3.9-1978),同時宣布撤消ANSI Fortran 3.9-1966,通常稱新標準為Fortran 77(該版本原計劃1977年公布)。Fortran 77向下兼容Fortran 66。在1980年,Fortran 77被ISO正式確定為國際標準ISO 1539-1980,該標準分全集和子集。Fortran 77推出後,由於具有結構化特徵,在社會上得到了廣泛應用,同時由於擴充了字符處理功能,在非數值處理領域也能大顯身手。
20世紀80年代末,Fortran 77結構化和現代化的研究開始興起,到1991年5月,ANSI公布了新的美國國家標準Fortran(ANSI 3.198-1991)。之後,ISO採納該標準,並確定為國際標準ISO/IEC 1539-1:1991,新國際標準還採納了我國計算機和信息處理標準化技術委員會程序設計分會提出的多字節字符集數據類型及相應的內部函數,為非英語國家使用計算機提供了極大的方便。通常稱新標準為Fortran 90,Fortran 90向下兼容Fortran 77。之後不久又出現了Fortran 95。
Fortran 90的推出,使傳統Fortran語言具有了現代氣息。Fortran 2003 的規則已經由ISO組織制定發布。
Windows平臺下,微軟公司將Fortran 90無縫集成在Developer Studio集成開發環境之中,推出了Microsoft Fortran PowerStation 4.0,使Fortran 90真正實現了可視化編程,徹底告別了傳統DOS環境(字符界面),轉到了現代Windows環境(視窗界面),共享微軟公司Windows平臺的豐富資源。
在1997年3月,微軟公司和數據設備公司(Digital Equipment Corp,簡稱DEC)強強聯合,合作研究、開發和推出了功能更強的Fortran語言新版本:Digital Visual Fortran 5.0,它是Microsoft Fortran PowerStation 4.0的升級換代產品。DEC公司在高性能科學和工程計算方面擁有世界領先技術,其高質量的Fortran編譯器遍及全球。1998年1月,DEC與Compag公司合併,DEC成為Compag公司的全資子公司,於是Digital Visual Fortran更名為Compag Visual Fortran,其最新版本為Compag Visual Fortran 6.6。Compaq和HP合併之後,Compaq的Fortran小組和Intel的Fortran開發小組合併,開發出來Intel Fotran編譯器9,有Linux和Window2個版本,其Windows版本為Intel Visual Fortran, 可以和微軟的Visual Studio.net集成。Windows平臺下還有PGI,Absoft,Intel等多個商業公司的Fortran編譯器,還有大量小公司的免費Fortran編譯器。
openMPI使Fortran等語言可以容易且免費的實現並行計算。
Linux平臺下,其gcc編譯器默認支持Fortran,另外有Intel,Sun Studio,openMPI,Photran等共享編譯器和PGI,Absoft,lachy, IBM,SGI,HP等多個版本的商業編譯器。
支持Fortran 2003標準的編譯器行將推出,新版本的Sun Studio 編譯器已經支持部分 Fortran 2003 語法。
十大程式語言演變統計曲線圖
排名21-40程式語言
十大程式語言歷年排名
動/靜態語言使用率對比
【編輯推薦】
2月程式語言排行榜:Objective-C的詠嘆調1月編程榜發布:Google Go意外奪得年度程式語言12月程式語言排行榜:三大沒落與三大輝煌【責任編輯:
王曉東TEL:(010)68476606】