11大類編程語言功能比較表(信息圖)

2012-01-31 09:21:22來源:CSDN作者:

導讀:有程序員的地方就會有因為對編程語言的探討而引發(fā)的戰(zhàn)爭(例如Linux之父Linus Torvalds炮轟C++ 一無是處,認為C++既無助于簡化,以實際用于進行原型化或者簡單的GUI編程,又不是像C那樣的簡潔的系統編程語言,

導讀:有程序員的地方就會有因為對編程語言的探討而引發(fā)的戰(zhàn)爭(例如Linux之父Linus Torvalds炮轟C++ 一無是處,認為C++既無助于簡化,以實際用于進行原型化或者簡單的GUI編程,又不是像C那樣的簡潔的系統編程語言,能夠積極地鼓勵開發(fā)者使用簡單和直接的語言構造;而另一位大牛Paul Graham則強烈鄙視Java,認為使用Java的公司都不足為懼)。同樣的,CSDN軟件研發(fā)頻道每個月根據TIOBE的數據編譯的語言排行榜也在一定程度上代表了開發(fā)語言的流行趨勢,由此引發(fā)程序員們的熱烈討論。

有兩個人的地方就有政治,有兩個程序員的地方就會有關于編程語言的爭論。當然,本文的目的不是為了引發(fā)語言戰(zhàn)爭,而是通過信息列表的方式來比較不同語言的功能特性,為開發(fā)者提供參考。其實對于一個產品的開發(fā)來說,語言選擇不是最重要的。關鍵是哪種語言更適合。工具畢竟只是工具。如同電視里面經常有一些工夫高手,利用樹葉殺人。其實就是鮮活的例子。

本文信息和數據出自hyperpolyglot,將當前主流編程語言分為11個大類,分別為:解釋型(PHP,Perl,Python,Ruby,Tcl,Lua,JavaScript,Io)、操作系統自動化型(POSIX Shell,AppleScript,PowerShell)、C++風格(C++,Objective C,Java,C#)、Pascal風格(Pascal,Ada,PostgreSQL,MySQL)、Lisp類(Common Lisp,Scheme,Clojure,Emacs Lisp)、類型推理類(Standard ML,OCaml,Scala,Haskell)、聲明型(Prolog,Erlang,Oz)、Concatenative語言(Forth,PostScript,Factor)、數據轉換(SQL,Awk,Pig,XSLT)、計算機代數(Maxima,Mathematica,Sage)、數字分析類(Fortran,MATLAB,R,NumPy)。

每種語言列舉的功能包括算術和邏輯/字符串/正則表達式/時期和時間/數組(陣列)/字典/功能/文件控制執(zhí)行/目錄/進程與環(huán)境;庫和模塊/對象/映射/Web/測試/調試與分析/交互性/ ,以及語言誕生時間、版本號、hello寫法的比較等等。

一、解釋型語言:PHP,PERL,Python和Ruby

\

注:因原圖太大,文中僅截取了部分圖片,詳細請點擊上圖。(下同)

二、解釋型語言:Tcl, Lua, JavaScript, Io

\

三、操作系統自動化: POSIX Shell, AppleScript, PowerShell

 

\

四、C++風格: C++, Objective C, Java, C#

\

五、Pascal風格: Pascal, Ada, PostgreSQL, MySQL

\

六、Lisp類: Common Lisp, Scheme, Clojure, Emacs Lisp

\

七、類型推理類: Standard ML, OCaml, Scala, Haskell

\

八、聲明型: Prolog, Erlang, Oz

\

九、Concatenative語言:Forth, PostScript, Factor

\

十、數據轉換: SQL, Awk, Pig, XSLT

\

十一、計算機代數: Maxima, Mathematica, Sage

\

十二、數字分析類:Fortran, MATLAB, R, NumPy

\

信息來源:Programming Language Reference Sheets

贊助商鏈接: