(有點方,這標題怕被河蟹)
21世紀最火的程式語言是什麼?
Python!
Python集合了幾種主要編程流行語言的優點於一身,並具有簡潔和通用等特點,備受技術人員的推崇,並且熱度一直保持著上升趨勢。
不少人一直堅稱,Python是世界上最好的語言。
與此同時,也有人認為Python在停滯不前,必將會被後浪所代替。
Julia就是公認的有力競爭者之一。
# 這是一個注釋 此Julia非彼Julia
Julia發布於2012年,由麻省理工學院(MIT)的計算機科學和人工智慧實驗室(CSAIL)開發和孵化。
有人預測其將有可能成為機器學習(人工智慧的一部分)領域的首選語言。
其技術團隊稱:「Julia 1.0的發布標誌著Julia現在已經準備好通過將Python和R語言的高效率和易用性與C ++的閃電般速度相結合來改變技術世界。」
那麼,哪種程式語言更日辣?來看下分析吧。
丨後浪
新的程式語言層出不窮,我們看到能站穩腳跟的後浪語言都有這樣的共性:保留了舊語言中的長處,同時修復了其不足之處。
ABC(Abstract Base Class - 抽象基類)→Python→Julia,Python保留了ABC的良好特性:簡潔、通用、對新手友好。然後我們發現Julia比Python更有野心:
它不是想取代一種語言,而是想打敗所有語言。
Julia的創造者是這樣說的:
我們很貪婪:我們想要更多。我們想要一種擁有自由許可的開源語言。我們想要C的速度和Ruby的活力。我們想要的語言是同調的(homoiconic),具有像Lisp這樣的真實宏,但又具有類似Matlab這樣的顯而易見的熟悉的數學符號。我們想要的語言像Python一樣適用於通用編程,像R一樣適用於統計,像Perl一樣自然地處理字符串,像Matlab一樣具有強大的線性代數處理能力,像Shell一樣易於將程序粘合在一起。我們想要一些簡單易學的,但卻能讓最嚴肅的黑客開心的東西。我們希望它是交互式的,我們希望它也是可編譯的。
ABC為Python鋪平了道路,而Python也為Julia鋪平了道路。
丨東風
現在人工智慧比較熱門,然後目前Python在機器學習中是佔主導地位,得此東風Python的上升勢頭依然很強勁(從微信的廣告可以體現,呃),加上Python擁護者的基數大。相比之下,Julia其實還比較小眾。但是較之Python,其優勢在於速度快、通用性好、多重派發。
此外說到機器學習,其實Julia才是專門創建用於高級統計工作的語言,更適用於統計學和機器學習領域,所以前景將是很廣闊。
▲同名Julia鎮樓
丨體驗
外行有幸接觸過這兩種語言(嗯,淺嘗輒止那種),談談自己的體會。
就學習過程來說,Python相對比較容易,上手快。Julia也很好,就是會忍不住抱怨,「啊,還沒學完我的天!怎麼還有,真·事多!!!」
實操上手的話,兩者似乎也沒有太多差別,可能相對來說Julia會更舒服,Python的一些不足都有得到補充,比如說速度慢。至於網上說Julia沒有好的IDE,外行覺得,好像也還好?
丨總結
其實,無論是前浪還是後浪,每種語言都有它的劣勢,沒有哪種語言是無可挑剔的。Julia 和 Python 都是很好的語言,至於誰能笑到最後,只有時間才能公布答案。
Julia雖然還挺小眾的(請召喚蕭炎上線...),但個人覺得還是挺有趣的,在未來的科研領域會有其一席之地。
簡而言之
新技術儘管來,學得動算我輸!