跳转到内容

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)。

  • [待续]
华夏公益教科书