“我们想要的是一种自由开源的语言,它同时拥有 C 的速度和 Ruby 的动态性;我们想要一个具有同像性(可以将语言的脚本本身当作数据进行处理)的语言, 它有着真正的和 Lisp 一样的宏,但却像 MATLAB 一样有着显著的,类似于数学表达式的标记;我们想要一个可以像 Python 一样作为通用编程语言的工具, 像 R 那样适用于统计分析,像 Perl 那样自然地处理字符串,像 MATLAB 那样给力地处理矩阵运算,它还要能像 Shell 一样作为胶水将各种程序粘合在一起;我们想要一个简单易学的语言,同时还能让最苛刻的黑客们开心。我们希望它是交互式的,但我们也希望它能被编译。” 去年今日,MIT Julia Lab 推出了 Julia 1.0 版。一年来,它的表现如何?
据 MIT 报道,截至 2018 年底,Julia 的下载量超过 300 万,并在超过 1500 所大学中用于科学和数值计算。根据 2019 年 8 月 TIOBE 编程语言指数,Julia 从 7 月的第 50 名升至第 39 名,在众多语言中上升幅度显著。今年 7 月,在将 Python 解释器移植到 Firefox 之后,Mozilla 出资将 Julia 引入 Firefox 和一般浏览器……
最近,Julia 开发团队对来自 90 多个国家的 1844 名 Julia 用户和开发人员进行了调查,结果显示,93% 的受访者喜爱 Julia,Python、C 排名第二、三位,分别获得 61% 和 27% 的投票率。这份完整的调查报告在今年 7 月底的 JuliaCon 上发布。在此次会议上,开发者还宣布将发布一个全新的 Julia 线程接口—— 受到 Cilk 、 Intel Threading Building Blocks (TBB) 以及 Go 等启发的通用任务并行机制。看起来,Julia 的进化正在稳步有序地进行着。
Julia 会是编程语言中的“黑马”吗?你是否已经准备好学习这门崛起中的新语言了呢?
Julia 诞生于 MIT 计算机科学与人工智能实验室 (CSAIL) 和数学系,由 Jeff Bezanson 博士、前 MIT Julia Lab 研究员 Stefan Karpinski、Viral B. Shah 和数学系教授 Alan Edelman 于 2009 年创建,并于 2012 年公开发布。开发者在 2012 年 2 月的博客中写道,
“我们想要的是一种自由开源的语言,它同时拥有 C 的速度和 Ruby 的动态性;我们想要一个具有同像性(可以将语言的脚本本身当作数据进行处理)的语言, 它有着真正的和 Lisp 一样的宏,但却像 MATLAB 一样有着显著的,类似于数学表达式的标记;我们想要一个可以像 Python 一样作为通用编程语言的工具, 像 R 那样适用于统计分析,像 Perl 那样自然地处理字符串,像 MATLAB 那样给力地处理矩阵运算,它还要能像 Shell 一样作为胶水将各种程序粘合在一起;我们想要一个简单易学的语言,同时还能让最苛刻的黑客们开心。我们希望它是交互式的,但我们也希望它能被编译。”
Julia 是一门灵活的动态语言,适用于科学计算和数值计算,其性能可与传统的静态类型语言媲美。它具有如下特点:
2018 年 12 月,Julia 的三位联合开发者 Bezanson、Karpinski 和 Shah 获得 2019 年 James H.Wilkinson 数字软件奖。根据选拔委员会的一份声明,“Julia 允许研究人员以直观的语法编写高级代码,并以生产编程语言的速度生成代码。它已被科学计算界广泛采用,包括天文学、经济学、深度学习、能源优化和医学等应用领域。尤为特别的是,美国联邦航空管理局选择 Julia 作为下一代机载防撞系统的语言。”
在 GitHub 上有 Julia 应用于 计算生物学、统计学、机器学习、图像处理、微分方程 和 物理学 等领域的小组。根据 最新调查报告,目前,Julia 的主要应用领域包括统计学与数据科学、工程学、机器学习、计算机科学、物理学、数学、人工智能、信号与图像处理等。73% 的用户使用 Julia 从事科研工作,54% 的用户将其用于个人工作,16% 的用户将其用于教学。
与 MATLAB、R、C/C++ 的区别详见 文档。
Julia 最受欢迎的技术特征包括快速和高性能、易于使用、开源、多重派发以及解决了两种语言问题;最受欢迎的非技术特征包括自由、社区开发者富有才华且活跃、易于创建包以及采用 MIT 许可证。
Julia 最大的技术问题在于包并不像所需的那样成熟或维护良好、生成第一个图需要很长时间;最大的非技术问题在于同事、公司或合作者使用其他语言,在用户所在的领域 / 行业中,没有足够的 Julia 用户。
据外媒 ZDNet 此前发布的数据,Julia 的 GitHub Star 数在过去一年翻了一番,该语言还被 1000 多种学术出版物引用。
关于”为什么你会使用 Julia“的问题,52% 的受访者表示,Julia 似乎是未来的语言,43% 的人认为,它能使工作速度更快。
你是否已经准备好学习这门新语言了?
领取专属 10元无门槛券
私享最新 技术干货