Julia 0.6.0 发布,动态编程语言

两味真火
 两味真火
发布于 2017年06月21日
收藏 8

Julia 0.6.0 发布了。Julia是一个新的高性能动态高级编程语言。语法和其他编程语言类似,易于其他语言用户学习。Julia拥有丰富的函数库,提供了数字精度、精致的增幅 器(sophisticated amplifier)和分布式并行运行方式。核心函数库等大多数库是由Julia编写,但也用成熟的C和FORTRAN库来处理线性代数、随机数产生和字 符串处理等问题。Julia语言可定义函数并且根据用户自定义的参数类型组合再进行重载。

新的语言特性:

New type system capabilities (#8974#18457)

  • Type parameter constraints can refer to previous parameters, e.g. type Foo{R<:Real, A<:AbstractArray{R}}. Can also be used in method definitions.

  • New syntax Array{T} where T<:Integer, indicating a union of types over all specified values of T (represented by a UnionAll type). This provides behavior similar to parametric methods or typealias, but can be used anywhere a type is accepted. This syntax can also be used in method definitions, e.g. function inv(M::Matrix{T}) where T<:AbstractFloat. Anonymous functions can have type parameters via the syntax ((x::Array{T}) where T<:Real) -> 2x.

  • Implicit type parameters, e.g. Vector{<:Real} is equivalent to Vector{T} where T<:Real, and similarly for Vector{>:Int} (#20414).

  • Much more accurate subtype and type intersection algorithms. Method sorting and identification of equivalent and ambiguous methods are improved as a result.

语言变化:

  • "Inner constructor" syntax for parametric types is deprecated. For example, in this definition:

    type Foo{T,S<:Real}
        x
        Foo(x) = new(x)
    end

    the syntax Foo(x) = new(x) actually defined a constructor for Foo{T,S}, i.e. the case where the type parameters are specified. For clarity, this definition now must be written as Foo{T,S}(x) where {T,S<:Real} = new(x) (#11310#20308).

  • The keywords used to define types have changed (#19157#20418).

    In 0.6, immutable and type are still allowed as synonyms without a deprecation warning.

    • immutable changes to struct

    • type changes to mutable struct

    • abstract changes to abstract type ... end

    • bitstype 32 Char changes to primitive type Char 32 end

  • ……

完整更新内容请查看更新日志

下载地址:

 >>>【评论有礼】6月6日-30日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Julia 0.6.0 发布,动态编程语言
加载中

精彩评论

玖伍贰柒
玖伍贰柒
搜索julia,让我走上了不归路
dfsr
dfsr
名字好,这个语言我学过。但是没能写出过像样的东西。
beyondforever68
beyondforever68
老司机们会心一笑
hell0cat
hell0cat
Julia可以很方便的求解线性方程组:
2x + 3y + z = 4
4x + 2y + 3z = 17
7x + y - z = 1
一步求解(和matlab语言类似,用矩阵反除法 X = A \ B ):
julia> [2 3 1; 4 2 3; 7 1 -1] \ [4; 17; 1]
3-element Array{Float64,1}:
1.0
-1.0
5.0

最新评论(15

浮生若梦E
浮生若梦E
这语言作者应该是 一边看 Julia 一边撸出来的代码😂
LnsooXD
LnsooXD

引用来自“玖伍贰柒”的评论

搜索julia,让我走上了不归路
我也是
阿影
阿影
什么情况?julia出语言啦?她不是慢着拍片吗?
b
beta5
搜索julia,让我走上了不归路
a
alzuse

引用来自“hell0cat”的评论

Julia可以很方便的求解线性方程组:
2x + 3y + z = 4
4x + 2y + 3z = 17
7x + y - z = 1
一步求解(和matlab语言类似,用矩阵反除法 X = A \ B ):
julia> [2 3 1; 4 2 3; 7 1 -1] \ [4; 17; 1]
3-element Array{Float64,1}:
1.0
-1.0
5.0
这个用python也很直观简单,就是numpy.linalg.solve看起来没有\这么牛逼。我稍看了下julia,一维数组,库也比较少。但看到一个很好玩的,PyCall.jl
jingshishengxu
jingshishengxu
:bowtie: 没听说过
beyondforever68
beyondforever68
老司机们会心一笑
_vince
_vince
为什么是一个av女星的名字,,冲这个我学
玖伍贰柒
玖伍贰柒
搜索julia,让我走上了不归路
返回顶部
顶部