開源編程語言Julia融資1.6億,人氣10倍速飆升

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia 編程語言掀起了一股新的熱潮。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"7 月 19 日,由 Julia 高性能編程語言初創團隊建立的 Julia Computing 公司,宣佈完成由 Dorilton Ventures 領投的 2400 萬美元 A 輪融資(摺合人民幣約 1.6 億)。參與此次融資的還包括 Menlo Ventures、General Catalyst 以及 HighSage Ventures 等。此外,前 Snowflake CEO 兼前微軟服務器及工具業務總裁 Bob Muglia,也將正式加入 Julia Computing 董事會。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia 編程語言最初由麻省理工學院(MIT)立項開發,目前在全球用戶中擁有 2900 多萬次下載量,具有 3.4 萬顆星,已經有數千位開源開發者爲 Julia 及其 6000 多個註冊軟件包貢獻力量。全球超過 1500 所高校已經在使用 Julia 並教授相關知識,包括麻省理工、斯坦福大學、加州大學伯克利分校等世界一流學府。目前全球已經有超過 1 萬家公司"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/0mck3o3diwhUW77RmFJ9","title":"xxx","type":null},"content":[{"type":"text","text":"使用 Julia 語言"}]},{"type":"text","text":",其中包括阿斯利康、貝萊德、谷歌、英特爾、微軟、Moderna、輝瑞、NASA、聯邦航空管理局以及紐約聯邦儲備銀行等重量級用戶。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自 2012 年正式亮相以來,Julia 社區規模也呈指數級增長。Julia 幫助科學家及工程師們解決各類大規模數據科學問題,消除了只能使用高級語言(例如 Python、Matlab 或 R 語言)進行測試與建模環節、並使用其他高性能低級語言(例如 C 或 C++)進行生產與擴展的割裂問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia Computing 將利用這筆資金進一步開發並改進旗下高安全性、高性能水平的 JuliaHub 雲平臺,同時着力拓展 Julia 生態系統。JuliaHub 能夠幫助數據科學家及工程師以更快速度輕鬆開發、部署並擴展 Julia 程序及模型。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Dorilton Ventures 投資負責人 Daniel Freeman 評論道,“Julia 代表的是一項真正具有變革性的業務,具有巨大的成功潛力。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Julia:一門高效且實用的語言"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia 語言是一門讓數據科學家和工程師們興奮不已的語言。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"使用編程語言的人大致可以分爲兩類:一類是比較關心生產效率的程序員、數據科學家、社會科學家以及需要使用非常高級的工具進行分析和仿真的羣體。另一類人則更關心代碼的性能,他們會編寫非常底層的代碼,並充分利用內存的層次結構,確保能充分利用硬件的性能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在實際場景中,舉例來說,如果用戶使用"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/D596hfLDwaRFKkhWpjxA","title":"xxx","type":null},"content":[{"type":"text","text":" Python 之類的語言"}]},{"type":"text","text":"來編寫一個程序,他能享受到這門語言的友好語法和交互性。這個程序的測試版可以解決問題,但是如果想把它擴展到更實際的應用中,速度就會很慢。之所以這樣是因爲熟悉性能的人編寫的都是高性能語言,而知道最終用戶在高生產效率系統中的實際需求的人編寫的都是高生產效率的語言,但後者實際上可能不是計算機科學家,只是擁有實現這一目標所需的專業知識。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia 語言的締造者們,希望有一門語言能同時滿足計算機科學領域的專家,以及在實際應用方面使用過 R、Matlab、SAS 和 Python 之類的語言工具的人。最後他們通過非常巧妙的編程語言設計從技術上實現了這個目標,其中包含兩個"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/article\/DFu3RY9ONo6mmw7TUUdB","title":"xxx","type":null},"content":[{"type":"text","text":"核心方面"}]},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一個就是研究動態語言的哪些特徵使其難以有效的進行編譯,這些特徵可能包括任意的非局部效應。你正在進行的一些操作可能產生了持久的正面影響,但是沒有實現有效的表達。如果你對此加以限制,並且對語言的設計方式有更加巧妙的構思,就可以獲得類似動態和高效的語言,但同時也出現了導致傳統動態語言出現性能問題的情況。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另一個核心方面是一個系統,稱之爲“動態多分派(dynamic multiple dispatch)”,它是 Julia 語言的核心範式,允許我們針對特定類型的參數進行動態最優算法選擇。很多年前人們就開始研究動態多分派,但是從來沒有一個系統能夠從頭到尾真正對其進行優化。所以在 Julia 出現之前,這種編程範例的優點從未在系統中真正實現過。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/51\/51130a4360f3909dfaafe92df63905e6.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","text":"與其它編程語言相比,Julia 性能優異"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在 Julia Computing 公司擔任 CTO 的 Keno Fischer 對此評論道:“我認爲 Julia 實現了編程語言方面的核心技術創新。”Keno Fischer 畢業於哈佛大學,自高中開始就參與 Julia 語言的開發,並在 2015 年與其他開發者共同創立了 Julia Computing。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Julia 憑什麼能在 2021 年大放異彩?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在經歷了默默無聞的十餘年耕耘積累之後,開源 Julia 終於走上了大型企業代碼現代化舞臺的中心。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia Computing 公司聯合創始人兼 CEO、Julia 語言聯合締造者 Viral Shah 表示,“現在的技術計算已經停滯不前,數據科學家和工程師們仍在使用幾十年前設計的產品… 我們正用實際行動定義數據科學與模擬的未來。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說起這些老的語言,相信大家都有類似的評價——既不靈活、也不優雅,但就是能用。不過隨着越來越多科學及工程代碼提出愈發迫切的更新需求,我們確實更需要藉助 AI\/ML 之力調整 C 或 C++ 代碼表達、或者在合適的範圍內使用 Python 等現爲現代化的語言。也正因爲如此,我們得以親眼見證基於機器學習的差分編程等工具等衆多科學及工程領域中的廣泛普及與實踐應用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而這一切,正是開源 Julia 語言項目從十幾年前至今就一直爲之努力的核心。目前的現實問題在於,隨着財富五百強企業及各大型研究中心不斷推進代碼現代化工作,Julia 語言的穩定性、商業應用趨勢以及代碼與業務轉型,能否支持 Julia Computing 公司在商業市場上站穩腳跟並謀求發展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Julia 語言的最初靈感可以追溯到 2009 年的麻省理工學院(MIT),其目標是解決一個當下仍然存在的問題:有些語言性能更高(C 或 C++)、有些語言進行復雜系統編程時用着更爽(Python),如何把二者統一起來。雖然雙方都能完成工作,但不同語言的接口及流程之間天然存在摩擦。除此之外,很多高價值科學及工程項目中的代碼都是幾十年前開發而成的產物,不僅在本質上相當混亂,而且大多基於四十多年前那時還算先進的開發思路、如今已經徹底落伍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"儘管 MIT 發出了明確的號召並給予堅定的支持,但直到 2012 年 Julia 才發展成爲開源語言項目,而且自身體量始終不算太大。Julia 到 2018 年底才迎來自己的 1.0 版本。一路走來,Julia 項目本身經歷了不少坎坷、參與者們也飽受不斷變化的開源開發模式的影響,甚至就連用戶也需要忍受每個月都有重大修復的持續折磨。但在此之後,情況開始日益穩定,事實證明 Julia 的出現恰逢其時。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以 Julia 語言本身爲跳板,項目的長期貢獻者之一 Keno Fischer 開始觀察 Julia 能夠解決的實際問題——換句話說,他希望 Julia 不僅作爲一種獨立的語言,還應成爲一套受支持的平臺乃至可以自給自足的成熟生態。在對 Julia 低級編譯器及其他基礎功能研究了近十年之後,Fischer 與另外兩位 Julia 長期貢獻者共同創立了 Julia Computing 公司。他們希望讓 Julia 經受更爲嚴苛的檢測——不僅作爲一門新的語言,更要成爲面向製藥、金融、高性能計算及能源等各個領域的精簡化編碼方式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這一切回報終於在過去幾年中得到了回報。Julia Computing 開始幫助輝瑞公司模擬新藥、幫助阿斯利康實現基於 AI 的毒性預測、幫助歐洲保險業巨頭 Aviva 處理合規問題、爲美國聯邦航空局(FAA)提供機載碰撞預警程序、爲思科提供基於機器學習的網絡安全方案,同時服務於其他多個國家實驗室及學術機構的研究項目。Julia Computing 還曾在今年獲得了 DARPA 的資助,負責幫助其更新半導體代碼以提高模擬效率——Julia 語言也憑藉着過硬的自身素質,贏得了 DARPA 的由衷讚譽。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Fischer 解釋道,“包括半導體行業在內,我們的語言之所以能夠在各個領域取得輝煌的成績,其核心原因在於現行的大部分標準工具源自上世紀七十到八十年代的早期計算髮展時期。那時候人們剛剛開始爲商業或學術應用編寫軟件,而且開發思路沒辦法擺脫當時的時代侷限。從上帝視角來看,目前的 SPICE 電路模擬器等各類軟件總會有大量拼湊而成的專有版本,着實讓用戶感到頭痛。Julia 就解決了這個難題——這個問題的核心,在於模擬器往往使用 C 語言編寫、腳本卻全是 Python 形式。這時候當人們想要實現高級功能,例如在集成機器學習中實現參數化和指標測量,那些八十年代的遺留產物就會成爲巨大的阻礙。”雖然還達不到一鍵轉換的效果,但只需要投入一點點努力,Julia 就能幫助用戶在現爲現代的堆棧之上獲取必要功能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在行業實際應用方面,不同開源技術之間存在巨大差距,要讓成果獲得財富五十強企業的數據科學家們的認同更是難上加難。對於 Julia 來說,雖然前進的腳步不算迅捷,但卻是踏踏實實、穩紮穩打,而且屬於它的飛躍正在來臨。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從公司的角度來看,成立於 2015 年的 Julia Computing 只在起步階段拿到過 460 萬美元資金,之後就再沒有進行任何融資。不過 Fischer 強調,通過早期諮詢業務,Julia 已經得到了金融服務用戶們的高度認可。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Fischer 在採訪中表示,“自 1.0 版本發佈以來,我們一直在探索建立起真正可持續的業務體系。諮詢和支持業務當然很好,但也對社區規模有着比較嚴格的要求;我們的能力足以在幫助製藥及其他應用領域解決大問題的同時,繼續保持語言的順利發展。當下,我們的工作重點開始轉向如何在特定行業中運用這項技術。我們掌握着微分方程求解器及現代編譯器技術,足以替換掉那些已經有着三、四十年曆史的 Fortran 代碼。我們相信這些工具將給各個行業帶來巨大幫助,在不影響開源發展的前提下實現良好的商業回報。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於在開源項目上默默耕耘多年的參與者們來說,光明的商業化前景當然令人欣慰。但這一切不可能憑空到來,Julia 的商業化路線究竟是如何實現的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Fichser 指出,“開源項目的貨幣化努力總是壓力重重。在項目開發早期,就有一些風投建議我們把性能優化功能當作付費開放的選項,這樣更容易獲利。但我們不想這麼幹,我們開發 Julia 的初衷就是爲人們提供能真正解決困難問題的工具,而爲了賺錢故意把核心功能去掉簡直離譜。所以我們堅定了決心,要找到一條既不阻礙技術應用、也能從中獲利的發展道路。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在被問及項目團隊的 40 名全職成員(幾乎每一位都是 Julia 委員會的長期成員)在融資之前是否都能拿到報酬時,Fischer 給出了肯定的答案,但最終的決定性因素仍然是 Julia 語言能不能按時達成預期的研發目標。成員們在差分編程等具體功能上投入了大量精力,同時結合自身從業經歷幫助機器學習技術與傳統科學及工程應用相融合,最終使得 Julia Computing 得以在各個行業當中開闢出重要的利基市場、也讓 Julia 成爲能夠以數據填補缺失知識的強大工具。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Fischer 還提到,公司目前的開發工作主要集中在 JuliaHub 雲平臺上,這套平臺負責爲早期大型計算用戶提供服務。公司的另一個重點則是特定領域開發,半導體行業就是其中一例。但真正讓 Julia Computing 成功破圈、走入大衆視野的,還要數他們與合作伙伴 Pumas.AI 在製藥領域取得了成功,特別是在各大疫苗及藥物製造商的新冠疫苗研發中提供的助力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Fischer 最後總結道,如今掌握着數十年代碼“遺產”的大公司們終於意識到該如何擁抱新時代。與此同時,Julia 投入大量時間和精力培育出的開源果實也終於獲得了回報,吸引越來越多的開發者爲自己的新項目選擇 Julia。雖然還不能斷言 Julia 語言就能引領工程技術開發的下一個世代,但至少對某些重量級科學及工業客戶而言,以往不同語言、不同接口相互角力的局面已經讓他們苦不堪言。而經歷了長途跋涉、以 AI\/ML 爲核心勁力的 Julia 語言很可能在新的一年、甚至更遠的未來,在整個開發領域中成爲一座指引方向的耀眼燈塔。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"延伸閱讀:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/www.hpcwire.com\/off-the-wire\/julia-computing-raises-24m-series-a-former-snowflake-ceo-bob-muglia-joins-board\/"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/www.nextplatform.com\/2021\/03\/22\/why-julia-is-turning-heads-in-2021\/"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/www.infoq.cn\/article\/DFu3RY9ONo6mmw7TUUdB"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章