今年上過一個quantative programming的課程,去年教學用的語言還是python,加速的方法用的是jit即時編譯來提高編程效率,今年課程的設計就改成Julia了。
因為自己從2016年起數據研究用的都是python,所以最開始使用Julia的時候并不習慣。不過在用Julia完成課程項目時發現Julia的好處還是很多,所以在網課上認真的把Julia系統性地學習了一遍。
關于Julia和python的對比
首先Julia的速度是比python快很多的,Julia的性能因為自帶jit的緣故基本上性能都比較接近于C了,而python在使用jit前,速度是遠不如Julia的,而且python的jit幫助文檔以及debug解決方案也相當殘缺,這點Julia用起來比python要方便很多;
第二IDE方面,我們的Julia教學使用的還是notebook,所以我并沒有深入地使用過Julia專用的IDE(除了在vscode裝過Julia插件),而python我一直使用的是pycharm,在IDE這方面,我個人覺得目前還是python比Julia好用;
第三pakage以及社區文檔方面,總得來說python的pakage還是相當豐富與易用的,而且除了jit以外,debug的幫助也非常容易找到,這點Julia現在還遠遠不及,更加不用說Julia現在的改版非常迅速,一些pakage以及debug信息早就不適用當前的版本了,這就導致了使用者在遇到bug時往往會因為版本的不同導致感到無所適從(這點非常像早期python的感覺,尤其是在python2到python3的轉換期間),所以我建議等到Julia再穩定一些后再使用Julia進行研究。
總的來說,從更加宏觀的角度來說,以上的第一點是語言戰略方向的問題,而第二點和第三點僅僅是戰術上的缺陷,而這些缺陷都能夠靠時間來彌補,而且語言的熱度從來都不是線性發展,我還挺期待Julia的下一個更加成熟與穩定版本的。
所以,從量化研究框架的穩定性出發,我認為Julia替代python還為之過早,不過因為python的速度實在是太慢,而c++的編程時間以及debug時間又過長,所以我還是希望Julia能夠快速發展的的。
最后,學好c++后,換個語言根本就不是一個事。(給c++跪了。。。。。)