程序员为什么爱用Julia语言这里有五点

北京中科白瘕风刘云涛 http://m.39.net/disease/a_5387123.html

新智元报道

来源:technotification

编辑:大明

Julia作为年才诞生的一门新兴动态编程语言,近年来得到了迅速普及,它具有哪些独特的特点优势?本文就列举了程序员学习Julia的五大理由。

Julia是一种免费的现代高级编程语言,于年正式发布。作为编程语言大家族中的年轻一员,Julia提供了许多令人眼前一亮的功能和特性。

作为程序员,为什么选择使用Julia?任何一种编程语言永远不会是完美的,而且永远不可能成为一个最终确定的产品,而是会随着时间的推移不断变化和发展。本文在此分享程序员学习Julia编程语言的五个理由。

1、Julia的代码库完全由Julia本身编写

如果你使用Julia开发应用程序,这也意味着你也可以为Julia语言本身添砖加瓦。与其他动态语言相比,这是Julia最重要的优势之一。

我们以Python为例。如果你使用Python,会发现其中存在用C语言编写的代码。Python允许用户添加基于C语言的扩展。不仅如此,你甚至可以用C++编写代码,并在Python代码中调用,从而带来巨大的性能提升。但是,这实际上可能偏离了使用Python的主要目的。Python应该是一种简单易用的语言。在编程中混合使用其他语言可能破坏了这种“味道”。

Julia的基准、标准库、算术等原始操作都是用Julia本身编写的。所以,在这一点上用户无需做出任何妥协。

2、速度快

其他编程语言,如C++和Java在垃圾收集方面很注重,由此牺牲了很多性能,而Julia的设计理念是将“高性能”放在最高优先级上。Julia附带LLVM编译器,可将Julia应用程序编译为适用多个平台的本地代码。

确实,Julia编译器不需要知道用户使用的变量类型,但它知道如何在用户调用函数时提前做好规划。

在Julia中,当用户调用函数时,参数是已知的。编译器会仔细观察函数,找出特定参数所需的必要CPU指令。

一旦精确的指令被映射出来,Julia就可以很快执行。也就是说,如果重复调用相同的函数,后续调用运行速度会更快。

3.在技术计算方面独具优势

Julia的语法规则非常适合数学运算,支持多种数字数据类型,在默认情况下即提供并行计算特性。Julia的多次调度非常适合定义数字和数组类型的数据类型。

比如如果键入反斜杠,就可以接着键入一个字符串(相当于LATEX字符串)来插入相应的字符。对于开发人员来说,这是一个非常有用的功能,可以导出一些方程并直接输入。

4.动态化且易于理解

Julia是一种动态编程语言,但也可以将某些值指定为特定类型来作为静态类型系统使用。这有助于生成高效的代码,并允许对函数参数类型的方法调度与语言深度集成。

为了使其更具表现力,Julia还在以前的“无类型”代码中引入了显式类型注释。注释有三个主要目的:提高代码对人类的可读性,获取程序员的错误并利用Julia强大的多调度机制。

5.通用编程语言

Julia最初是作为一种面向技术语言设计的,但现在可以将其用于通用编程。用户可以使用Julia编写用户界面、静态编译代码甚至在Web服务器上部署代码。Julia具有强大的类似“shell”的功能来管理其他进程,并设有类似Lisp的宏和其他元编程功能。

Julia致力于打造多重调度模型,可以轻松表达许多面向对象和函数式的编程模式。Julia的标准库还提供过程控制、日志记录、分析、异步I/O等功能。

参考链接:




转载请注明:http://www.aierlanlan.com/rzfs/5121.html