加载中...
MIT于2012年发布的高性能科学计算语言,用LLVM JIT达到接近C的运行速度,同时保持Python/MATLAB级别的交互式使用体验。解决了科学计算领域「两语言问题」:探索用Julia,生产也用Julia。

| 类型 | 动态类型、JIT编译、多重分派 |
| 发布年份 | 2012年(公开),2018年(1.0) |
| 开发者 | Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman(MIT) |
科学计算领域长期存在「两语言问题」:研究人员用Python/MATLAB快速原型,发现性能不够时再用C/Fortran重写热点代码,两套代码库维护成本极高。Julia的设计者Jeff Bezanson等人2012年在博客里直接点名:他们想要一门贪心的语言——像C一样快、像Python一样通用、像R一样适合统计、像MATLAB一样适合矩阵运算。
Julia的JIT编译基于LLVM,关键技术是多重分派(multiple dispatch):函数根据所有参数的类型选择最具体的方法实现,让编译器能针对具体类型生成特化代码。第一次调用某个函数组合时有编译延迟,之后就是原生速度。[1]
Julia的包生态在数值计算领域相当完整:DifferentialEquations.jl被认为是所有语言里最完善的常微分方程求解库;Flux.jl提供深度学习框架;Turing.jl做概率编程;Makie.jl负责可视化。天体物理、气候模拟、药物研发都有团队在生产环境用Julia。
2018年Julia加入了美国国家气候模拟项目(CliMA),用Julia重写整个大气环流模型。Julia 1.0于2018年发布,此前版本的API不稳定是阻碍采用的一大因素,1.0之后生态逐渐稳固。

| 类型 | 动态类型、JIT编译、多重分派 |
| 发布年份 | 2012年(公开),2018年(1.0) |
| 开发者 | Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman(MIT) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧