英文原文:Programming Language Reference Sheets,編譯:CSDN
有兩個人的地方就有政治,有兩個程式設計師的地方就會有關於程式語言的爭論。當然,本文的目的不是為了引發語言戰爭,而是通過資訊列表的方式來比較不同語言的功能特性,為開發者提供參考。其實對於一個產品的開發來說,語言選擇不是最重要的。關鍵是哪種語言更適合。工具畢竟只是工具。如同電視裡面經常有一些工夫高手,利用樹葉殺人。其實就是鮮活的例子。
本文資訊和資料出自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)。
每種語言列舉的功能包括算術和邏輯/字串/正規表示式/時期和時間/陣列(陣列)/字典/功能/檔案控制執行/目錄/程式與環境;庫和模組/物件/對映/Web/測試/除錯與分析/互動性/ ,以及語言誕生時間、版本號、hello word寫法的比較等等。
二、解釋型語言: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
九、Concatenative語言:Forth, PostScript, Factor
十一、計算機代數: Maxima, Mathematica, Sage
十二、數字分析類:Fortran, MATLAB, R, NumPy