Julia 生态发展之路

今年 7 月 19 日,Julia 语言创始人成立的 Julia Computing 公司宣布完成了 2400 万美元的 A 轮融资,由 Dorilton Ventures 领投,Menlo Ventures、General Catalyst 和 HighSage Ventures 跟投 [1]。融资将被用于 Julia 生态的扩张,继续研发产品让 Julia 语言变得更容易部署、更加好用 [2]。

Julia 是一种速度快且使用简单的高级通用编程语言,最初设计用于科学计算领域 [3],2012 年发布以来已有超过 2900 万次下载,超过 10000 家公司使用 [1],包括 AstraZeneca、Google、Intel、Microsoft 和 NASA 等。作为一个开源的语言项目,有超过 1000 贡献者投入社区 [4]。

Julia 近年的发展势头迅猛(8 月 TIOBE 排名 26 [5]),但众所周知,R、Python 已经是数据计算和人工智能领域最流行的语言,拥有非常丰富的生态系统,对比之下,Julia 还很不成熟。Stack Overflow 上关于 Julia 的问题仍不到 Python 的百分之一 [6]。

图片

图 1:Trends on Stack Overflow [6]

那么 Julia 凭什么优势成为了有力竞争者?


突出的特性 #

类似 Python、R 的脚本语言是面向解释器的,用户写完代码,可以直接解释执行,并返回结果;而类似 C、Fortran 等语言必须先编译成机器语言才能执行。后者速度更快但使用起来没有前者方便,因此想要快速实现复杂的程序逻辑时,开发者可能会选择用脚本语言写算法,之后再翻译到 C、C++ 等语言,这是一个花精力又容易出错的过程 [7]。

Julia 的诞生就是为了将以上不同语言的性能结合成一门语言的特性,Julia 的编程过程是交互式的、动态的,同时也拥有静态编译语言的性能 [7]。官网介绍的 Julia 特性如下 [4]:

  • 快速: 接近编译型语言的性能,2017 年甚至加入了 Petaflop 俱乐部(峰值超过每秒 1 petaflop 的语言,另几个语言分别是 C、C++ 和 Fortran),Julia 开发的应用 Celeste 在 NERSC 的超级电脑上使用 1300 万线程,达到了1.54 petaflops 的峰值 [8]。

  • 动态: 是动态类型系统,并很好地支持了交互编程,易于开发者学习使用。

  • 环境可复用: 支持通过 BinaryBuilder 在不同平台上快速重现开发环境。

  • 可组合性: 提供了基于多重派发和类型系统的编程范式,可称为面向方法的(method-oriented)[9]。

  • 通用: 提供了文件读写、元编程、调试、日志记录、性能分析等标准库,还提供了一个包管理工具,可用于实现完整的应用和微服务。

  • 开源: 代码托管在 GitHub,采用 MIT 许可证,当前已有超过 1000 的贡献者。

Julia 的速度一定程度上是语言本身

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值