每日最新頭條.有趣資訊

人生苦短,你該用的是Julia

新智元報導

來源:QUATZ、Techworm

作者:三石

【新智元導讀】Julia 1.0重磅發布,想必擾亂了不少開發者的心——我該不該從Python或R轉用Julia呢?畢竟後者可是集Pyhton、R和C++優勢在一起的語言啊。不管你怎麽想,Julia的開發者的目標是:將Julia打造為機器學習最主流語言。

人氣飆升的Julia,是否值得你擁有?

上周,開源編程語言—Julia的開發團隊發布了該項目的1.0版本。這表明,用於優化數據分析和深度學習的編程語言已經誕生!

Why Julia?

對於用慣了像R和Python這樣主流語言的數據科學家來說,新語言的誕生可能會給他們帶來一些困擾。他們可能花了數年的時間去學習他們所喜歡的編程語言,並了解該語言很多細枝末節的知識點,或自己總結了使用該語言的一些技巧。在這種情況下,他們很可能已經非常適應使用像R和Python這樣穩定且好用的語言了。那麽,現在他們憑什麽需要考慮學習一門新的語言呢?

Julia的創始人之一,Viral Shah說:“如果你是數學家、科學家或者工程師,那麽你過去選擇一門編程語言會從它的速度角度進行考慮,例如C++或Java,亦或從語言的易學角度進行考慮,例如Matlab、R或者是Python。而我們創造了一種兩者兼備的語言,即Julia。”

Viral Shah表示,Julia開發靈感是想看有多少人需要對同樣的代碼進行重複編程。數據科學家首先會使用Python或R這樣的工具來開發算法,因為用這些語言來研究數據和製作圖表很容易。然後,當他們覺得算法差不多成型了,就會用C++或Java重寫程式,用來獲取更快的電腦處理性能。而Julia比R和Python還要快,因為它是專門用來快速實現大多數據科學所需要數學基礎知識或概念的,例如矩陣表達式、線性代數。

Julia已經被廣泛使用(下載次數超過了200萬次),但用戶社區顯然不滿足現在的這點成就。他們希望Julia能夠超越Python和R作為數據科學的中心語言(尤其是機器學習)。

Julia大部分關鍵技術的開發來自MIT的Julia Lab,該實驗室是由Julia同事兼MIT數學教授Alan Edelman來長官的。Julia的另外兩位創作者是Jeff Bezanson和Stefan Karpinski。這些開發者對於1.0的開發貢獻是小部分的,最主要的還是來自超過700名志願者的努力。

Why not Julia?

那麽,為什麽說不是每個數據科學家都需要學習Julia呢?理由如下:

首先,如果處理速度對你來說並不重要,Julia可能不如你正在使用的任何產品(至少現在如此)。有些R用戶所做的統計工作都是在相對較小的數據集上進行的,並且只是涉及到簡單的計算。在R開發人員社區,特別是數據科學家Hadley Wickham,開發出了非常棒的工具,通過完整的文檔,就可以完成簡單的數據分析任務。但如果使用Julia來實現在R中完成的一些基本任務,可以發現,Julia的工具對這些任務並沒有優勢可言。

其次,Julia在調試和識別性能問題方面的工具落後於Python和R。Shah說,Julia的基礎開發已然完成,他希望社區能夠將重心轉移到這些工具的開發,以便讓新用戶更好、更容易上手。

Julia並不是什麽新產品,實際上從2012年開始就有了。但是隨著1.0版本的到來,其流行程度和關注度也大幅上升。上周,TIOBE編程語言指數的分析師指出,Julia首次進入前50名。

來自QUARTZ的Dan Kopf表示:“雖然很多人並沒有準備好去學習Julia,但是可以相信的是,Julia目前存在的幾個短板問題若是能夠得到解決,它的速度優勢會使其成為數據科學家的主流編程語言。”而RedMonk也表示,“Julia即將接管Python!”

那麽問題來了,你是否會選擇學習Julia呢?

獲得更多的PTT最新消息
按讚加入粉絲團