Julia 作为非 CS 领域专家的工作语言?

Jan*_*nus -3 julia

我与一家大型可再生能源公司的土木工程师一起构建结构设计优化软件。按照我们的设置方式,领域专家将完成他们自己的大部分代码(想想钢部件的结构验证、地球物理响应模型……),我的团队负责整合所有这些并在此基础上构建优化算法.

目前一切都是matlab,因为这是工程师在学校教的。我们开始考虑从头开始重建系统,弹出的一个问题是使用什么语言。

我的优先检查清单是:

  • 对于没有 CS 意识的土木工程师来说很容易学习
  • 非常适合线性代数计算、大型代数表达式和一般的数值工作
  • 现有的具有根查找、基本优化器等功能的数值库——或对 C/Fortran 集成的坚实支持。

到目前为止,我最喜欢的是 Python,我已经看到几个工程师在几周内加快了速度,但我想知道 Julia 是否也符合要求。

您是否有使用 Julia 作为领域专家语言的经验,您会为此目的推荐它吗?

(保持这个特定于 Julia 以使其成为一个可回答的问题——但请随意加入其他语言选项!)

Prz*_*fel 5

就像评论中提到的那样,这是一个针对朱莉娅话语的问题。

但是,我忍不住要对你的名单发表评论。

  1. 对于没有 CS 意识的土木工程师来说很容易学习

Julia 比 Python 稍微难一些。我一直在向几组人教授 Julia,基本上,如果您的团队具有 Python 或 Matlab 等背景,那么将 Julia 转换为 Julia 是轻松而自然的。

  1. 非常适合线性代数计算、大型代数表达式和一般的数值工作

这正是这种语言的设计目的。Julia 完全克服了 Python 在这些领域的每一个缺点。

  1. 现有的具有根查找、基本优化器等功能的数值库——或对 C/Fortran 集成的坚实支持。

查看https://github.com/JuliaMathhttps://github.com/JuliaOpt/ 此外,如果您对线性和非线性编程感兴趣,查看https://github.com/JuliaOpt/上的 JuMP JuMP.jl - 这是一个巧妙而美丽的包

此外,C 和 Fortran 开箱即用:https : //docs.julialang.org/en/v1.0/manual/calling-c-and-fortran-code/ 最后,值得注意的是您还可以通过PyCall.jl包在 Julia 中加载和直接使用 Python 库。