可以说,Julia在我了解其语言魅力的时候。它是专门为"并行"数值计算设计的语言。备受期待的Julia语言的1.0版本积累了富有野心的程序员们的十年心血。 在 JuliaCon2018 发布会上,Julia 社区正式将该版本设置为1.0.0。
项目地址:https://github.com/JuliaLang
学习文档教程:https://julialang.org/learning/
中文文档手册:http://julia-cn.readthedocs.io/zh_CN/latest/manual/getting-started/
原文部分内容来自:百家号(机器之心),fandyst(博客园),再此鸣谢
MIT 开发的 Julia 语言是全球热度上升最快的编程语言之一,下载量超过 200 万次,下载者包括谷歌、Facebook、FAA 和美国能源部等各个部门的开发者。近日,MIT CSAIL 实验室正式发布了 Julia 1.0,该语言期望结合 C 的速度、Matlab 的数学表征、Python 的通用编程与 Shell 的胶水命令行,并构建开源、自由与便捷的编程语言。
在近期的Star值呈现了一路飙升的状态。Julia 的开发者之一、就职于 MIT 计算机科学与人工智能实验室(CSAIL)的教授 Alan Edelman 表示:「Julia 1.0 的发布证明,该语言已经做好准备,将 Python 和 R 的高效性和易用性与 C++的闪电速度结合在一起,改变技术世界。」
![](/qrcode.jpg)
实际落地的应用场景包括:
- 自动驾驶汽车
- 机器人和 3D 打印机
- 精准医疗
- 增强现实
- 基因组学
- 风险管理。
从 Julia 的生态系统来说,目前它主要的特征或应用领域为数据可视化、一般性的 UI 与网站、数据科学、机器学习、科学计算与平行计算等。
在其活跃的社区当中,超过 700 人对 Julia 做出了实质性贡献,更有不计其数的人制造了数千个惊人的 Julia 开源包。
以此构建出:
- 快速:Julia 为高性能而生。Julia 程序通过 LLVM 为多个平台编译高效的本地代码。
- 通用:它使用多分派作为范例,使得表达许多面向对象和函数式的编程模式变得容易。标准库提供异步 I/O、进程控制、日志记录、性能分析、包管理器等。
- 动态:Julia 是动态型语言,与脚本语言类似,并且支持交互式使用。
- 专业:它擅长数值计算,其语法适用于数学,支持多种数值数据类型,并具有良好并行性。Julia 的多分派天生适合定义数字和类数组的数据类型。
- 多样:Julia 拥有丰富的描述性数据类型,类型声明使程序条理清晰且稳定。
- 可组合:Julia 的包可以很好地组合在一起。单位数量的矩阵,或者货币和颜色的数据列表,都可以组合——而且性能很好。
版本中的内容特性:https://docs.julialang.org/en/release-0.7/NEWS/
在多种语言相比之下,这个为“并行”计算的语言还具备:
- 可调用 C/Python 库, 可以更好的继承现有的成果
- 类似 matlab 和 python 的语法, 更换语言的学习成本低
- 接近于 C++ 的性能
- 开源,在社区生态上初具规模
- 天生的并发和分布式支持
结合当下流行的区块链技术而言,Julia是否能高效快速地应用到区块链行业当中,笔者认为其高效的并发特性和分布式支持会成为进入区块链技术开发的一大助力。目前较为主流优秀的公链技术大部分使用了C、C++、Golang等技术进行开发。
Julia拥有丰富的函数库,提供了数字精度、精致的增幅器(sophisticated amplifier)和分布式并行运行方式。核心函数库等大多数库是由Julia编写,但也用成熟的C和FORTRAN库来处理线性代数、随机数产生和字符串处理等问题。Julia语言可定义函数并且根据用户自定义的参数类型组合再进行重载。
JIT高性能编译器
Julia使用的JIT(Just-in-Time)实时编译器很有效地提高了它的运行效率,在某些地方甚至能比得上C和C++。
并且,分布式技术随着区块链行业的发展,大数据的分析与处理会使得支持高并发的Julia在今后大放异彩。
-----------------------------------------
有任何建议或问题,欢迎加微信一起学习交流
欢迎从事IT,区块链技术,热爱IT,喜欢深挖源代码的行业大牛加入,一起探讨。
个人微信号:bboyHan,博客地址:https://blog.csdn.net/han0373