如何選擇編程語言?



好吧,你現在是否准備好去學習一個新的編程語言了嗎?或許你之前沒有接觸過這個領域,那歡迎你來到應用開發的新世界。或者你已經在這個應用開發的領域里已經摸爬滾打了好幾年了,但是你想開始一個新的領域。選擇一種編程語言是一個並不是很好辦的工作。這兒給出一個步驟(查看原圖查看大圖


這兒共提到了15種編程語言:C#,Java,Objective C,Ruby,Python,Groovy,Clojure,Scala,Go,Io,C++,Lua,ActionScript,Erlang,Haskell。

說來慚愧,作為一個計算機專業出身編程人員,竟然有好幾種語言我聽都沒有聽說過。不知道大家對這些是否都了解?

在這些語言中,C#,Java,C++這三種語言大家應該都知道吧。這也是現在比較流行的編程語言。Objective C是大名鼎鼎的蘋果公司的語言,其iOS上的應用都是用該語言開發的。

Ruby,Python,Lua這三種語言是我聽說過,但是沒有使用過的語言。這與前面的語言不同是這些是腳本語言,而像C#,C++,Java這些都是編譯性語言。

其中的Go語言,知道有這么一回事,是現在Google主推的語言。它是Google2009發布的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。

剩下的其他的語言基本都沒有聽說過,下面是我從網上找到的一些材料,主要是對這些語言進行了一點介紹,如果大家覺得這種語言不錯的話,可以自己去網上找一些材料進行學習。

Groovy是一種基於JVM的敏捷開發語言,它結合了Python、Ruby和Smalltalk的許多強大的特性。Java開發者可以使用類似Java的語法來獲得這些特性的支持。Groovy被設計為幫助你在Java平台上以快速的、更簡潔和有趣的方式完成事情,將Python和Ruby的強大功能帶到Java平台內部。

談到Clojure語言,不得不提到Lisp語言。Lisp語言是由約翰·麥卡錫在1960年左右創造的一種基於λ演算的函數式編程語言,以表達性和功能強大著稱,但人們通常認為它不太適合應用於一般情況。Clojure 是一種運行在 Java平台上的 Lisp 方言,它的出現徹底改變了這一現狀。

Scala是一種針對JVM 將函數和面向對象技術組合在一起的編程語言。Scala編程語言近來抓住了很多開發者的眼球。它看起來像是一種純粹的面向對象編程語言,而又無縫地結合了命令式和函數式的編程風格。Scala的名稱表明,它還是一種高度可伸縮的語言。Scala的設計始終貫穿着一個理念:創造一種更好地支持組件的語言。

Groovy、Clojure和Scala都是運行在JVM(Java虛擬機)上的語言,從這兒我們也可以看到Java的影響其實很大的。JVM支持跨平台。

Io最早發布在2002年,它混合了Lua、Lisp、Smalltalk和其他一些語言的某些方面的一個小語言。Io屬於“解釋型”語言家族(像Perl、Python等等),這種語言的代碼並不是通過編譯而至直接解釋並運行的。和很多“解釋型”語言一樣,Io也是高度動態的:一個程序可以迅速地生成並解釋新的代碼。

ActionScript是Flash的腳本語言,與JavaScript相似,ActionScript是一種面向對象編程語言。

Erlang是一個結構化,動態類型編程語言,內建並行計算支持。最初是由愛立信專門為通信應用設計的,比如控制交換機或者變換協議等,因此非常適合於構建分布式,實時軟並行計算系統。

Haskell是一種純函數式編程語言,它的命名源自美國數學家Haskell Brooks Curry,他在數學邏輯方面上的工作使得函數式編程語言有了廣泛的基礎。Haskell語言是1990年在編程語言Miranda的基礎上標准化的,並且以λ演算為基礎發展而來。這也是為什么Haskell語言以希臘字母“λ”(Lambda)作為自己的標志。

最后還有一點,我覺得大家也應該注意到了,這兒沒有大名鼎鼎的C語言,C語言的強大之處我就不再說了,至於為什么沒有提到,我也不好猜測,大家自己可以思考一下。

via SH

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com