编程技术网,编程语言,IT新闻,code,代码审查

Julia可用于分析和解决计算科学问题的高性能工具

2019-02-11 02:39

三星滚筒洗衣机,怪物猎人3g关键任务,杏花村,去加拿大留学的费用,澄海实验学校,口袋巴士乖离性百万亚瑟王百万亚瑟王游戏助手

Julia 编程语言创建者之一 Viral Shah 博士,确认参加 EmTech China 2019 全球新兴科技峰会。

科技不仅仅是一个时代的标签,它所引导的产业变革更是在雕刻这个时代。从实验室到产业,从生产线到每个用户,越来越短的产业化路径和越来越快的迭代速度,将我们与新兴科技紧密相连。无论是市场寒冬或是创业燃点,我们现在都需要拨开迷雾厘清真相,需要对科技未来发展趋势有一个精准的判断。所以,我们在 2019 年开年为您准备了 EmTech China 这份名单,而您,只需要坐下来,听这些全球最权威的人讲最重要的事。

2018 年 8 月初,随着的 1.0 版本发布的消息确认,一门名为 Julia 的高性能动态编程语言一夜之间刷爆了朋友圈和 GitHub。2018 年 12 月,Julia 的创始团队被授予 James H. Wilkinson Prize,对他们创建 Julia 这一可用于分析和解决计算科学问题的高性能工具,加以表彰。

图 | Julia 语言的团队部分成员即获奖人(来源:MIT News)

这个编程语言的新版本之所以受到整个人工智能界的关注,最主要的原因正是其将 C 语言的速度、Ruby 的灵活、Python 的通用性前所未有地结合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程计算。

更早之前,在今年 TOIBE 8 月份编程语言排行榜上,Julia 已迅速攀升至第 50 名。根据 Julia 开发团队的说法,在七项基础算法的测试中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍。也有越来越多的人相信,Julia 会成为未来的主流编程语言。

图丨在过去的三个月中,Julia 在 RedMonk 的排名中上升了三位,排名第 36 位(来源:RedMonk)

Julia 的崛起,与目前编程语言发展遭遇的瓶颈息息相关:随着人工智能尤其是机器学习的兴起,现实世界对计算的速度及性能要求也越来越高,不同的编程语言由于自身的局限性难以兼顾,例如说,在 Julia 诞生之前,很多人不得不把同样的程序进行多次处理:首先使用 Python 或 R 这样的语言来开发一种算法,并通过这些语言制作图表,然后再用 C++或 Java 改写程序,以获得更好的计算机处理性能。

突破这种瓶颈无疑有两个方向,一是基于现有编程语言进行优化,二是 将革命进行到底 专门开发一门新语言。后者自然成本更高。

Julia 的开发人员显然选择了后者,而且他们的野心不小:Julia 被专门设计为用于快速运行基础数学,这正是大多数数据科学的基础,如矩阵表达式和线性代数。

它的诞生可追溯到 2009 年。当时,正是基于对现有编程语言的 不满 ,麻省理工学院启动了一个新型编程语言开发计划,到了 2012 年的时候,这个计划有了初步的成果,也就是如今的 Julia。

图 | 麻省理工学院 Julia 实验室(来源:Julia 实验室官网)

具体而言,Julia 项目由麻省理工学院教授Alan Edelman领导,另外几位关键创造者则包括Jeff Bezanson( Julia 名字来自于 Bezanson 的一个旧项目)、Stefan Karpinski 和 Viral Shah。其大部分关键发展成果都来自麻省理工学院的 Julia 实验室,也有超过 700 名志愿者参与了 1.0 版本的制作。

我们想开发一种开源的编程语言,我们希望这门语言有 C 语言一样的速度、R 语言一样的灵活性,有同像性(homoiconicity), 有像 Lisp 语言那样拥有真正的宏特性,但是也像 Matlab 一样有易于理解、被人所熟悉的数学标记。我们希望它像 Python 一样易用,像 R 语言一样适用于统计,像 Perl 一样适用于字符串处理,处理线性代数像 Matlab 一样强大,像 DOS 命令一样擅长粘合程序。这似乎看起来简单易学,但是想要让黑客乐意去迎合它却不是简单之事。我们希望它具有互动性且能够被编译 ,在《Why we created Julia》这篇文章中,Julia 团队如此解释他们开发这个语言的初衷。

上一篇:郑州高薪python全栈工程师哪家好

下一篇:TIOBE 2月排行榜:时隔3年Groovy重进Top20