语言简介

科学计算对性能一直有着最高的需求,但目前各领域的专家却大量使用较慢的动态语言来开展他们的日常工作。 偏爱动态语言有很多很好的理由,因此我们不会舍弃动态的特性。 幸运的是,现代编程语言设计与编译器技术可以大大消除性能折衷(trade-off),并提供有足够生产力的单一环境进行原型设计,而且能高效地部署性能密集型应用程序。 Julia 语言在这其中扮演了这样一个角色:它是一门灵活的动态语言,适合用于科学计算和数值计算,并且性能可与传统的静态类型语言媲美。[1]

Julia 是一门支持过程式、函数式和面向对象的多范式语言,其类型系统是动态、主格[nominal]、参数[parametric]的,它以数学编程语言为基础,同时也参考了不少流行的动态语言。

它最常用的运行模式是 JIT,同时也支持解释与编译。

优势

Julia 的目标是创建一个前所未有的集易用、强大、高效于一体的语言。

缺陷

  • (在 JIT 模式下)预热较慢(这是所有基于 JIT 的语言的共有特点),1.6 版本相较之前版本有了明显的提升

  • 生态环境不太友好,包的数量与质量仍待提高(Julia 仍然是一门新兴语言)

  • 有多种编译方式,但各有缺陷

  • 讨论:Julia及其生态的现状与发展问题

与传统动态语言区别

前景 & 当下

  • 1

    https://docs.juliacn.com/latest/

  • 2

    https://julialang.org/blog/2012/02/why-we-created-julia-zh_CN/

  • nominal

    类型兼容性基于显式声明的类型名称而非结构

  • parametric

    支持泛型

  • 5

    https://github.com/JuliaCN/JuliaDataScience/blob/467a3375180a991d9b721ee4cce168e2583c4acb/contents/why_julia.md?plain=1#L368-L380