說到資料科學與機器學習,多半會想到Python、R,近期還有第三種程式語言值得關注 — Julia,由 Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman所開發,簡單來說,其精神為Write like Python, run like C,不難看出Julia試圖解決在效能與可讀性間的兩難,根據維基百科,Jeff等開發者有感於科學計算的程式語言僅某些專業領域特別擅長,如果有種程式語言具有C語言的效能、Ruby的動態性、Lisp的同像性、Python的泛用性、R的統計分析...,還有互動式又是編譯型的特性那該有多好(OS: 優點都要?!天底下居然有這麼好的事...),造就了Julia誕生,並於2012年釋出,2018年8月8日大改版v1.0,正式邁進一大步。
文章支援:MIT正式發佈編程語言Julia 1.0:Python、R、C++三合一
今年的開源人年會(COSCUP 2018)其中一項主議程就是Julia,從入門介紹到進階的Metaprogramming,初級入門可參考 Julia Taiwan發起人 杜岳華的slideshare Introduction to Julia、COSCUP Julia 共筆,或是Julia 中文官方文件草稿。台灣社群有Julia Taiwan,以及 Julia news 關注此語言最新進展。
Julia應用領域包含財務分析、機器學習與AI、圖像運算(GPUs)、平行運算、生物資訊、能源領域、最佳化問題、公共議題等。
Julia應用領域多元,令我訝異的是官網列舉蠻多能源應用案例,如:電網安全、能源交易、能源市場分析、電網系統最佳化等,此外諾貝爾經濟學獎得主Sargent(理性預期學派)使用Julia建立計量總體經濟模型-離散動態規劃(Discrete dynamic programs),其他如生醫、天文、財務、風險、最佳化議題。
關於Julia、Python與R之間有一件蠻有趣的關係,數據分析領域著名的交互式筆記本編輯器Jupyter Notebook,當初命名是為了紀念伽利略, 取自木星Jupiter的諧音,若把Jupyter拆解,Ju(Julia)-py (Python)-ter(R),由此可看出,Julia未來在數據分析與人工智慧所扮演的角色值得關注。
參考資料:
<化讚為賞> 若你喜歡這篇文章,請點擊Like 5 下! 支持創作與內容分享,筆者將獲得LikeCoin官方回饋 !!