经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Julia » 查看文章
能比Python快20倍?Julia真有这么神?
来源:今日头条  作者:爱科技爱软件  时间:2019/1/21 10:35:09  对本文有异议

2008年,一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕。

1.jpg

他们想要的是一个开源的软件,它要像C语言一般快速而有拥有如同Ruby的动态性;要具有Lisp般真正的同像性(Homoiconicity)而又有Matlab般熟悉的数学记号。

2.jpg

要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊。

3.jpg

还有,它应该是交互式的,同时又是编译型的……  现在,一个充满活力和蓬勃发展的社区围绕着这种语言成长起来,来自世界各地的人们在追求这一目标的过程中不断地精炼并重塑着 Julia。超过 700 人为 Julia 做出了贡献,还有很多人制作了数以千计的令人惊叹的开源 Julia 软件包。

总而言之,我们建立的语言:

-快速:Julia 就是为高性能而设计的。Julia 程序通过 LLVM 编译为多个平台的高效本机代码。

-通用:它使用多个调度作为范例,使得它很容易表达众多面向对象和函数编程的模式。它的标准库提供异步 I / O、进程控制、日志记录、概要分析、软件包管理器等。

-动态:Julia 是动态类型的,就像一种脚本语言,并且很好地支持交互式使用。

-技术:它擅长于数值计算,其语法非常适合数学,支持的数字数据类型众多,并具有开箱即用并行性。Julia 的多次调度非常适合定义数字和数组类型的数据类型。

-(可选)键入:Julia 具有丰富的描述性数据类型语言,类型声明可用于阐明和巩固程序。

-可组合:Julia 的软件包可以很好地协同工作。单位数量矩阵,货币和颜色数据表都可以进行,并且性能良好。

4.jpg

特点:

1.免费开源

2.核心语言非常小。标准库用的是 Julia 语言本身写的

3.调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。(还在增加中……)

4.丰富的用于建立或描述对象的类型语法

5.高性能,接近于静态编译型语言。包括用户自定义类型等

6.为并行计算和分布式计算而设计

7.轻量级“绿色”协程

8.优雅的可扩展的类型转换/提升

9.支持Unicode, 包括但不限于UTF-8

10.可直接调用 C 函数(不需要包装或是借助特殊的API)

11.有类似shell的进程管理能力

12.有类似Lisp的宏以及其它元编程工具

与其他语言相比,Julia 易于使用,大幅减少了需要写的代码行数;并且能够很容易地部署于云容器,有更多的工具包和库,并且结合了多种语言的优势。据 Julia Computing 的宣传,在七项基础算法的测试中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍。

目前 Julia 的应用范围已经非常广泛了,可以用于天文图像分析、自动驾驶汽车、机器人和 3D 打印机、精准医疗、增强现实、基因组学和风险管理等领域。

两年前,诺贝尔经济学奖得主 Thomas Sargent 和澳大利亚国立大学的经济学教授 John Stachurski,共同建议纽约联邦储备银行把其用于市场走势预测和政策分析的 “动态随机一般均衡模型(DSGE)” 转到 Julia 语言平台。在项目第一阶段后,他们发现,Julia 把模型运行时间缩短至原先 Matlab 代码的十分之一到四分之三。

5.jpg

除了语言本身的优点,Julia 还拥有非常强大的生态系统,主要应用于数据可视化、通用计算、数据科学、机器学习、科学领域、并行计算六大领域。


 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号