跳轉到內容

Julia 簡介/從其他語言遷移

來自華夏公益教科書,開放的書籍,開放的世界

一個很好的通用資源是 Julia 手冊中的 與其他語言的顯著差異 頁面。 Julia 手冊.

也可以透過使用 PyCall.jl 或 jlrs(一個從 Rust 呼叫 Julia 的包,反之亦然)等庫來從 Python、R、MATLAB、Rust、JavaScript、Java(以及例如 Scala 和 Kotlin)等更多語言呼叫,而不是可能重寫工作程式碼,並以這種方式完全遷移。

可以使用 ccall 關鍵字呼叫 C,無需任何包,但也有其他包來幫助呼叫 C。呼叫其他語言的包(例如 C++ 或上面提到的那些)間接地使用 C 呼叫機制。

要呼叫 Python,歷史上一直使用 PyCall.jl(可能是第一個呼叫任何語言的包),但新的 PythonCall.jl 包也是一個選擇,它提供了雙向呼叫,以及對 Python 依賴項的輕鬆處理(這些依賴項不受 PyCall 跟蹤,使用者必須手動設定)。見 比較。PyCall 嚴格地只支援呼叫到 Julia,但有一個 Python 包(實際上是基於它構建的)pyjulia,它支援在另一個方向呼叫,以防 Python 是你的主要語言。

可以從 PyCall 遷移到 PythonCall(或同時使用兩者),雖然 API 不完全相同,但在所有情況下可能不值得。如果你選擇 PythonCall(例如用於新專案),也可以將其與 PyCall 一起使用(例如,如果你的一些依賴項,如 PyPlot.jl,依賴於 PyCall)。

  • [待續]
華夏公益教科書