Julia 之所以这么受欢迎,这与它解决了工程师们一个 “坑爹” 问题有关:工程师们为了在数据分析中获得速度和易用性,不得不首先用一种语言编码,然后用另一种语言重写,即很多人口中的“双语言问题”。
与其他语言相比,Julia 易于使用,大幅减少了需要写的代码行数;并且能够很容易地部署于云容器,有更多的工具包和库,并且结合了多种语言的优势。据 Julia Computing 的宣传,在七项基础算法的测试中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍。
目前 Julia 的应用范围已经非常广泛了,可以用于天文图像分析、自动驾驶汽车、机器人和 3D 打印机、精准医疗、增强现实、基因组学和风险管理等领域。
两年前,诺贝尔经济学奖得主 Thomas Sargent 和澳大利亚国立大学的经济学教授 John Stachurski,共同建议纽约联邦储备银行把其用于市场走势预测和政策分析的 “动态随机一般均衡模型(DSGE)” 转到 Julia 语言平台。在项目第一阶段后,他们发现,Julia 把模型运行时间缩短至原先 Matlab 代码的十分之一到四分之三。
Julia 有了一个新的规范表示缺失值(https://julialang.org/blog/2018/06/missing)。能够表示和处理缺失的数据是统计和数据科学的基础。与 Julian 的一贯风格相符,这个新的解决方案具有通用性、可组合性和高性能。任何泛型集合类型都可以通过让元素包含 missing 的预定义值来有效地支持缺失值。在以前的 Julia 版本中,这种 “联合类型” 集合的性能会太慢,但编译器的改进现在使得 Julia 可以跟上其他系统中自定义 C 或 C ++ 缺失数据表示的速度,同时也更加通用和灵活。