Julia的十年征途的开发-国内

91百科网 58 0

2012年,Julia语言诞生,从此科学计算领域又多了一个强大的工具。

如今,Julia已经走过十年,拥有数十万用户。 Julia软件技术栈已经开始在数百所大学和公司建立,范围从个性化医疗、气候建模、新材料研发,甚至太空任务规划。 朱莉娅也在场。

近日,Julia 的开发者又发表了一篇博客,收集了过去十年来的一些 Julia 故事,希望能够共同反思、共同进步,让 Julia 在十年内变得更好。

朱莉娅的十年历程

Julia 的开发始于 2009 年,当时 Viral Shah 向他的两个朋友 Jeff Bezanson 和 Stefan Karpinski 发送了一封电子邮件,发起了科学计算语言的新革命。

Julia 于 2012 年正式发布。在《Why We Created Julia》博客中,开发者表示:因为我们很贪婪,想要拥有更多 Julia。

Julia 结合了流行语言所有最令人向往的功能。 他们希望创建一个像 C 一样快、像 Ruby 一样动态的 Julia; 它与 Lisp 一样真实,并且具有 Matlab 熟悉的数学原理。 符号; 它应该像Python一样通用,像R一样在统计分析上方便,像Perl一样处理字符串自然,像Matlab一样强大的线性代数运算,像shell一样胶水一样,易于学习但不复杂。 让真正的黑客感到无聊; 它应该是交互式的并且可以编译。

Julia 的初始版本具有可选类型、多重分派以及通过使用 LLVM 进行类型推断和即时编译 (JIT) 的良好性能。

2014年,首届Julia年会在芝加哥召开。 自那时起,JuliaCon 已有近 30,000 名与会者,演讲者包括 Soumith Chintala、Katherine A. Yelick 和 Linda Petzold。

2015年,开发团队与Keno Fischer和Deepak Vinchhi创立了JuliaComputing,开发一些基于Julia的客户产品。 他们的旗舰产品 JuliaHub 是一个 SaaS 平台,用于开发 Julia 程序并将其部署到数千个节点。

2017 年 6 月,该团队从 General Catalyst 和 Founder Collective 筹集了 460 万美元的种子资金。

2018年,Julia 1.0版本正式发布,团队表示Julia已经“全面发布”。 此版本引入了 API 稳定性、内置包管理器、缺失值的规范表示以及用于安全创建任意数据的内置 String 类型。 这个版本意义重大,也意味着Julia不再处于“开发阶段”。

2019年,Julia从美国政府筹集了110万美元的资金。

2019-2020 年间,先后发布了 v1.1、v1.2、v1.3 和 v1.4,修复了 bug,添加了异常堆栈,内置了对 Web 浏览器的支持,以及可组合的多线程并行性和 Julia 的二进制工件系统包。

2020 年的 Julia v1.5 是一个主要版本。 该博客文章声称该版本带来了重大优化,可以显着减少某些工作负载中的堆分配。 此外,这些功能还包括对 Mozilla RR 工具的记录和重放调试支持、结构布局和分配优化、多线程 API 稳定和改进、延迟改进以及针对一些流行情况的算法改进,例如生成正态分布、双精度浮点数字。

2021年,获得由Dorilton Ventures领投的2400万美元A轮融资。

同年发布的 Julia 1.6 通过并行预编译和更快的包加载提高了性能,v1.7 引入了更快的随机数生成器,并在每个任务中使用了 Xoshiro256 系列 RNG 中更小的状态。 设置一个状态并在每个任务创建时分叉它。 这使得随机数仅取决于任务的生成结构而不取决于并行执行计划。

2022年2月,Julia就已经过去十年了,版本号也将发布1.8。

Julia 背后的用户故事

截至 2020 年,Julia 累计下载量为 3500 万次,拥有 6800 个 Julia 包,超过 1180 万行代码。 它被超过 10,000 家公司和 1,500 所大学使用。

凭借其开放性和热情,Julia在社会福利方面成功创造了无数应用:纽约联邦储备银行使用Julia对美国经济进行建模,主要是因为Julia比Matlab快10倍; 研究人员还使用 Julia 来估计 2021 年 COVID-19 引发的经济冲击。

2019 年,Julia 是气候建模联盟创建的耗资数百万美元的下一代全球气候模型的唯一实现语言。 美国联邦航空管理局利用 Julia 开发下一代机载防撞系统。 它还被用于 Celeste 项目,在 Cori II 超级计算机上实现了 1.54 petaflops 的峰值性能。 Aviva 和 BlackRock 使用 Julia 计算风险并执行时间序列分析。 Julia 也是 NASA 用于模拟航天器分离动力学的标准语言。 巴西的 INPE 还使用 Julia 来规划太空任务。

使用 Julia 的主要公司包括 Nvidia、阿斯利康、谷歌、英特尔、微软、亚马逊、苹果、迪士尼、Facebook、福特、Grindr、IBM、微软、甲骨文、Uber、Moderna 和辉瑞。

在过去的十年里,许多用户分享了他们使用 Julia 的故事。

网友@keno分享:十年前,我刚刚高中毕业,在马里兰州东海岸的一所小学校做交换生。 手里拿着大学录取通知书,没有太多其他事情可做,我对计算科学中需要更好的工具产生了强烈的共鸣,并从那天开始研究 Julia。 在过去的十年里,我几乎每天都在使用 Julia。 在此期间,我从事过从天文学到同态加密、到模拟半导体以及介于两者之间的许多工作的各种工作。 一路上发生了很多难忘的事情。 五年前,我们在世界上最大的计算机之一上同时运行了超过一百万个 Julia 线程,这对于动态语言来说是一项壮举,并将 Julia 推向了千万亿次浮点运算大关,而现在这一目标已经很容易实现。 。 每年,我都期待着参加 JuliaCon,与我一路上结识的朋友聚会,并欣赏我们在麻省理工学院会议室里与少数人取得的进步。 这是疯狂的十年,而且事情只会变得更加令人兴奋。

网友@aviks分享:十年前,当我在Hacker News上看到这篇博客时,我的第一反应是“我们真的需要另一种编程语言吗?” 工作很忙,所以我下载了源代码,惊讶地发现它第一次就构建成功了。 两周后,我提交了我的第一份 PR。 添加新的数值类型后,Julia 向我证明了简单且高性能的数值计算绝对是可能的。 从那以后的几年里,我很荣幸能够成为这个令人惊叹的社区的一部分,并且能够每天在工作中编写 Julia。 毫无疑问,朱莉娅改变了我的生活,我认为它在某种程度上改变了世界。

网友@collinwarner分享:我第一次接触Julia是在2019年春天,在Alan Edelman教授的线性代数课上。 课程结束后,我联系了我的导师,他向我介绍了 Chris Rackauckus,接下来的一年我致力于创建神经微分方程。 现在我已经是一名大四学生了,我又回到了实验室。 我在秋天选修了软件性能工程,希望能让代码更快并了解更多有关编译器的知识。 我认为 Julia Labs 是一个完美的地方,与他们合作是一次很棒的经历。 我计划明年继续与他们的实验室合作。

网友@emmettgb分享:我第一次接触Julia语言是在2014年秋天。当时我还很年轻,但对计算科学着迷,我主要使用Python和R来完成这两项任务。 我曾与同事合作过几个项目,在这些项目中我们都会遇到“两种语言问题”,这让我非常沮丧。 我是团队中唯一会写 C 的成员,Cython 并没有像我们想象的那样帮助我们解决问题。 当时,像 Numba 和远程 Python 解释这样的工具甚至还没有达到现在的水平,我正在寻找有关使 Python 运行得更快的更多信息,并偶然发现了这篇 Julia 论坛帖子。 我被它的语法所吸引,从那天起我开始学习 Julia,它就成了我最喜欢的编程语言。 我能够用 Julia 而不是 C 来解决我们的问题,并且我能够在需要时通过 PyCall.jl 调用 Python 代码。 Julia 最终完美地完成了这项工作,所以每次我的项目遇到此类问题时,我都会用它来解决。 Julia 语言一直表现良好,而且该语言不断发生的所有变化都非常大。 现在 Julia 语言有了更好的生态系统,所以事情只会变得更好。

参考:

标签: 科学 十年 过去 太空 走来

发表评论 (已有1条评论)

评论列表