Julia将成为编程语言黑马,是Python未来的劲敌?

热点专题 浏览(1415)

新梦想IT职业教育2天前我想分享

作者:王静爱一线发布:新梦想IT教育

据麻省理工学院称,Julia在2018年底之前下载了300多万次,并在1500多所大学中用于科学和数值计算。根据2019年8月的Tiobe编程语言指数,Julia从7月的第50位上升到第39位,并且在许多语言中都有显着上升。今年7月,在将python解释器移植到firefox之后,Mozilla出资将julia引入firefox和通用浏览器…。

最近,Julia开发团队调查了来自90多个国家的1844名Julia用户和开发人员。结果显示,93%的受访者,如Julia、python和c,分别排在第二和第三位,分别占选民投票率的61%和27%。这项完整的调查于今年7月底在Juliacon发布。在这次会议上,开发人员还宣布将发布一个新的Julia线程接口,其灵感来自于CILK、Intel线程构建块(TBB)和Go。看来茱莉亚的进化正在稳步有序地进行。

茱莉亚会成为编程语言中的“黑马”吗?你准备好在这次崛起中学习新语言了吗?

0×251C

朱莉娅是什么?

朱莉娅出生于麻省理工学院计算机科学与人工智能实验室(CSAIL)和数学系。它由Jeff Bezanson博士,前麻省理工学院Julia Lab研究员Stefan Karpinski,Viral B. Shah和数学教授Alan Edelman于2009年创立于2009年。公开发布。开发人员在2012年2月的博客中写道,

“我们想要的是一种免费的开源语言,它具有C的速度和Ruby的动态;我们想要一种具有相同身份的语言(脚本本身可以被视为数据),它有真正的宏像Lisp,但是有类似MATLAB的标记,类似于数学表达式;我们想要一个可以用作Python等通用编程语言的工具,比如R用于统计分析,就像Perl处理字符串一样自然,并且处理矩阵操作与MATLAB一样强大。它还将各种程序粘合在一起就像一个shell;我们想要一种易于学习的语言,同时仍然是最苛刻的黑客很高兴。我们希望它是互动的,但我们也希望它将编译。“

Julia是一种灵活的动态语言,适用于科学计算和数值计算,其性能可与传统的静态类型语言相媲美。它具有以下特点:

快速:Julia最初是为高性能而设计的。 Julia可以通过LLVM编译成跨平台的高效本机代码。概述:Julia使用多个调度作为编程范例,以便更容易表达面向对象和函数式编程范例。标准库提供异步I/O,过程控制,日志记录,性能分析,包管理器等。动态:Julia是动态类型的,类似于脚本语言,并且对交互式使用有很大的支持。数值计算:Julia专注于数值计算,其语法适用于数学计算,支持多种数值类型,并支持并行计算。 Julia的多分布自然适用于定义数值和类数组的数据类型。可选的类型注释:Julia具有丰富的数据类型描述,使程序更具可读性和健壮性。可组合:Julia的包装可以自然组合运行。单元号列或数据表列中的货币和颜色可以一起使用,并且具有良好的性能。

2018年12月,Julia的三位联合开发商Bezanson,Karpinski和Shah赢得了2019年的James H. Wilkinson数字软件奖。根据推选委员会的一份声明,“Julia允许研究人员以直观的语法编写高级代码,并以生产编程语言的速度生成代码。它已被科学计算界广泛采用,包括天文学,经济学,深度学习,能源。特别是优化和医学等应用。特别是,美国联邦航空管理局选择朱莉娅作为下一代机载防撞系统的语言。“

在GitHub上,有Julia的计算生物学,统计学,机器学习,图像处理,微分方程和物理学的团队。根据最新的调查报告,Julia的主要应用包括统计和数据科学,工程,机器学习,计算机科学,物理,数学,人工智能,信号和图像处理等.73%的用户使用Julia进行科学研究,54%个人工作和16%的教学。

与Python的区别

Julia需要以end结束代码块。与Python不同,Julia没有pass关键字。在Julia中,数组,字符串等的索引从1开始,而不是0. Julia的slice索引包含最后一个元素,它与Python不同。 Julia中的[2: 3]在Python中是[1: 3]。朱莉娅不支持负面指数。特别是,列表或数组的最后一个元素使用Julia中的结束索引,与Python中的-1不同。 Julia的for,if,while等的代码块由end关键字终止。缩进级别不如Python中那么重要。 Julia没有连续语法:如果在行的末尾,到目前为止的输入是一个完整的表达式,那么它被认为已经结束;否则,输入被认为是继续。强制表达式继续的一种方法是将其包含在括号中。默认情况下,Julia数组是列优先(Fortran顺序),而NumPy数组是行优先(C顺序)。为了在循环数组时获得最佳性能,循环顺序应在Julia中相对于NumPy反转(请参阅性能提示中的相应部分)。朱莉娅的更新运算符(例如+=, - =,)不是就地的,而是Numpy的。这意味着A=[1,1]; B=A; B +=[3,3]不会更改A中的值,但会将名称B绑定到右表达式的结果B=B + 3这是一个新数组。对于就地操作,请使用B。+=3(另请参见点运算符),显式循环或InplaceOps.jl。每次调用方法时,Julia都会计算函数参数的默认值。与Python不同,默认值仅在定义函数时计算一次。例如,每次调用输入参数时,函数f(x=rand)=x都会返回一个新的随机数。另一方面,函数g(x=[1,2])=push!(x,3)每次用g调用时返回[1,2,3]。在Julia中,%是余数运算符,在Python中是模运算符。

为什么要用朱莉娅?

Julia最受欢迎的技术特性包括快速和高性能,易用性,开源,多种发行版以及解决两种语言问题;最受欢迎的非技术特性包括自由,社区开发人员才华横溢且活跃,并且易于创建包。采用MIT许可证。

Julia最大的技术问题是包装不够成熟或维护得很好,生成第一张图片需要很长时间。最大的非技术问题是同事,公司或合作者在用户的领域中使用其他语言。 /在业界,没有足够的Julia用户。

根据外国媒体ZDNet发布的数据,Julia的GitHub明星数量在过去一年翻了一番,该语言已被1000多种学术刊物引用。

关于“你为什么使用朱莉娅”的问题,52%的受访者表示朱莉娅似乎是未来的语言,43%的人认为它可以使工作更快。

看到这个,你准备好学习这门新语言吗?

收集报告投诉

作者:王静AI前线发布:新梦想IT教育

据麻省理工学院称,截至2018年底,Julia下载了300多万次下载,并在1500多所大学中用于科学和数值计算。根据2019年8月的TIOBE编程语言索引,Julia从7月份的第50位升至第39位,并且在许多语言中都有显着增长。今年7月,在将Python解释器移植到Firefox之后,Mozilla资助了将Julia引入Firefox和普通浏览器.

最近,Julia开发团队调查了来自90多个国家的1,844名Julia用户和开发人员。结果显示,93%的受访者表示Julia,Python和C分别排名第二和第三,占选民投票率的61%和27%。这项完整的调查于今年7月底在JuliaCon上发布。在发布会上,开发人员还宣布将发布一个新的Julia线程接口,其灵感来自Cilk,英特尔线程构建模块(TBB)和Go。似乎朱莉娅的进化正在稳步有序地进行。

朱莉娅会成为编程语言中的“黑马”吗?你准备好在这个崛起中学习新语言了吗?

朱莉娅是什么?

朱莉娅出生于麻省理工学院计算机科学与人工智能实验室(CSAIL)和数学系。它由Jeff Bezanson博士,前麻省理工学院Julia Lab研究员Stefan Karpinski,Viral B. Shah和数学教授Alan Edelman于2009年创立于2009年。公开发布。开发人员在2012年2月的博客中写道,

“我们想要的是一种免费的开源语言,它具有C的速度和Ruby的动态;我们想要一种具有相同身份的语言(脚本本身可以被视为数据),它有真正的宏像Lisp,但是有类似MATLAB的标记,类似于数学表达式;我们想要一个可以用作Python等通用编程语言的工具,比如R用于统计分析,就像Perl处理字符串一样自然,并且处理矩阵操作与MATLAB一样强大。它还将各种程序粘合在一起就像一个shell;我们想要一种易于学习的语言,同时仍然是最苛刻的黑客很高兴。我们希望它是互动的,但我们也希望它将编译。“

Julia是一种灵活的动态语言,适用于科学计算和数值计算,其性能可与传统的静态类型语言相媲美。它具有以下特点:

快速:Julia最初是为高性能而设计的。 Julia可以通过LLVM编译成跨平台的高效本机代码。概述:Julia使用多个调度作为编程范例,以便更容易表达面向对象和函数式编程范例。标准库提供异步I/O,过程控制,日志记录,性能分析,包管理器等。动态:Julia是动态类型的,类似于脚本语言,并且对交互式使用有很大的支持。数值计算:Julia专注于数值计算,其语法适用于数学计算,支持多种数值类型,并支持并行计算。 Julia的多分布自然适用于定义数值和类数组的数据类型。可选的类型注释:Julia具有丰富的数据类型描述,使程序更具可读性和健壮性。可组合:Julia的包装可以自然组合运行。单元号列或数据表列中的货币和颜色可以一起使用,并且具有良好的性能。

2018年12月,Julia的三位联合开发商Bezanson,Karpinski和Shah赢得了2019年的James H. Wilkinson数字软件奖。根据推选委员会的一份声明,“Julia允许研究人员以直观的语法编写高级代码,并以生产编程语言的速度生成代码。它已被科学计算界广泛采用,包括天文学,经济学,深度学习,能源。特别是优化和医学等应用。特别是,美国联邦航空管理局选择朱莉娅作为下一代机载防撞系统的语言。“

在GitHub上,有计算生物学,统计学,机器学习,图像处理,微分方程和物理学领域的Julia团队。根据最新调查,Julia的主要应用领域包括统计和数据科学,工程,机器学习,计算机科学,物理,数学,人工智能,信号和图像处理。 73%的用户使用Julia进行研究,54%的用户将其用于个人工作,16%的用户将其用于教学。

与Python的区别

Julia需要以end结束代码块。与Python不同,Julia没有pass关键字。在Julia中,数组,字符串等的索引从1开始,而不是0. Julia的slice索引包含最后一个元素,它与Python不同。 Julia中的[2: 3]在Python中是[1: 3]。朱莉娅不支持负面指数。特别是,列表或数组的最后一个元素使用Julia中的结束索引,与Python中的-1不同。 Julia的for,if,while等的代码块由end关键字终止。缩进级别不如Python中那么重要。 Julia没有连续语法:如果在行的末尾,到目前为止的输入是一个完整的表达式,那么它被认为已经结束;否则,输入被认为是继续。强制表达式继续的一种方法是将其包含在括号中。默认情况下,Julia数组是列优先(Fortran顺序),而NumPy数组是行优先(C顺序)。为了在循环数组时获得最佳性能,循环顺序应在Julia中相对于NumPy反转(请参阅性能提示中的相应部分)。朱莉娅的更新运算符(例如+=, - =,)不是就地的,而是Numpy的。这意味着A=[1,1]; B=A; B +=[3,3]不会更改A中的值,但会将名称B绑定到右表达式的结果B=B + 3这是一个新数组。对于就地操作,请使用B。+=3(另请参见点运算符),显式循环或InplaceOps.jl。每次调用方法时,Julia都会计算函数参数的默认值。与Python不同,默认值仅在定义函数时计算一次。例如,每次调用输入参数时,函数f(x=rand)=x都会返回一个新的随机数。另一方面,函数g(x=[1,2])=push!(x,3)每次用g调用时返回[1,2,3]。在Julia中,%是余数运算符,在Python中是模运算符。

为什么要用朱莉娅?

Julia最受欢迎的技术特性包括快速和高性能,易用性,开源,多种发行版以及解决两种语言问题;最受欢迎的非技术特性包括自由,社区开发人员才华横溢且活跃,并且易于创建包。采用MIT许可证。

Julia最大的技术问题是包装不够成熟或维护得很好,生成第一张图片需要很长时间。最大的非技术问题是同事,公司或合作者在用户的领域中使用其他语言。 /在业界,没有足够的Julia用户。

根据外国媒体ZDNet发布的数据,Julia的GitHub明星数量在过去一年翻了一番,该语言已被1000多种学术刊物引用。

关于“你为什么使用朱莉娅”的问题,52%的受访者表示朱莉娅似乎是未来的语言,43%的人认为它可以使工作更快。

看到这个,你准备好学习这门新语言吗?

http://ios.ksfuxinbaozhuang.com.cn