闪电下载吧 最新软件 免费软件 绿色软件

教程资讯 软件专题

您的位置:SD124 > 应用软件 > 编程开发 > Julia动态高级编程语言 v1.0官方版

Julia动态高级编程语言 v1.0官方版

  • 软件大小:未知
  • 更新日期:2018-08-14
  • 官方网站:闪电下载吧
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
Julia动态高级编程语言 v1.0官方版
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com

Julia动态高级编程语言是一种高级的面向科学计算的高性能程序设计语言,拥有能与编译型语言相媲美的性能。Julia现在的发展仍然是非常快的,如果大家刚接触的话,不妨先选用JuliaPrp,类似于python 的 anaconda,这款语言具有很明显的优势以及强大的功能,值得学习和使用。

Julia语言简介:

Julia 是一个面向科学计算的高性能动态高级程序设计语言。其语法与其他科学计算语言相似。在许多情况下拥有能与编译型语言相媲美的性能。

一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕。他们想要的是一个开源的软件,它要像C语言一般快速而有拥有如同Ruby的动态性;要具有Lisp般真正的同像性(Homoiconicity)而又有Matlab般熟悉的数学记号;要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊;还有,它应该是交互式的,同时又是编译型的……

该项目大约于2009年中开始,目前(2012年2月)距离1.0版的发布已经进展到90%。在源码主页上可下载试用。

目前,Julia中文社区正在迅速成长,Julia语言编程开发等问答平台已经建立。

Julia语言特点:

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

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

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

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

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

轻量级协程

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

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

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

有类似shell的进程管理能力

有类似Lisp的宏以及其它元编程工具
Julia动态高级编程语言 v0.6.0官方版

日志:

一种全新的内置程序包管理器给 Julia 1.0 带来巨大的性能提升,并令其相比以往更容易进行程序包和依赖库安装。它还支持每项目(per-project)的包环境,并记录工作应用的明确状态来和其他人(以及你的未来项目)共享。最后,该新设计还完全支持私人包和软件包存储库。你可以使用相同的工具安装和管理你用于开源包生态系统的私人包。JuliaCon 的展示视频对新设计和行为提供了很好的概述。
 
Julia 拥有对缺失值的新的标准表示。允许表示和处理缺失数据对于统计和数据科学来说是很基础的。在典型的 Julia 编程形式中,新的解决方案是通用的、可组合的和高性能的。任何泛用群集类型可以高效地支持缺失值,仅需要允许元素包含预定义值 missing。这种「统一类型化」的群集的性能在过去版本中可能会非常慢,但如今的编译器改进已经允许 Julia 在其它系统中匹配自定义 C 或 C++的缺失值表示的速度,同时在通用性和灵活性上也远远超越过去的版本。
 
内置的 String 类型现在可以安全地支持任意数据。你的程序不会在一项工作中因为无效 Unicode 的单个丢失字节就浪费数小时或数天的时间。所有的字符串数据在指示哪些字符是有效或无效的同时就已经被保存,允许你的应用安全、方便地处理包含所有不可避免瑕疵的真实世界数据。
 
广播(broadcasting)由于方便的语法特性已经成为了一种核心的语言功能,并且已经比过去更加强大。在 Julia 1.0 中,可以很简单地将广播扩展到自定义类型,并在 GPU 和其它向量化硬件上实现高效的优化计算,为未来更高的性能效益奠定了基础。
 
命名元数组是一种新的语言功能,可以通过命名使数据表示和访问更加高效和方便。例如,你可以将一行数据表示为 row = (name="Julia", version=v"1.0.0", releases=8),并使用 row.version 来访问 version 列,它与不那么便利的 row [2] 有相同的性能。
 
点运算符现在可以重载,并允许类型使用 obj.property 句法获取除 getting 和 setting 结构域外的含义。这对于使用 Python 和 Java 等面向对象语言之间更加平滑的交互操作非常有用。属性访问器重载还允许获取一列数据的语法匹配命名元组的语法:你可以编写 table.version 以访问表中的 version 列,这就和使用 row.version 访问行的 version 字段一样。
 
Julia 优化器在很多方面比我们列出来的特征还要优秀,但这里只会提一些亮点。优化器现在可以通过函数调用传播常数,因此比以前能更好地消除无用代码和实现静态评估。编译器在避免为长期目标分配短期包装器方面也做得更好,这使得开发者能使用便捷的高级抽象并且不会产生性能损失。
 
现在可以用声明参数类型的构造函数的方式调用它们自己,这消除了语言句法中令人困惑且模糊的地方。
 
完全重新设计迭代协议,使之更易实现多种可迭代量。Julia 1.0 没有设计三种不同泛型函数(start、next、done)的方法,而是设计 iterate 函数的一参数和二参数方法。这通常允许在开始状态使用包含默认值的单一定义来便捷地定义迭代。
 
更重要的是,这使得实现只在尝试并无法生成值后才知道它们已经被实施过的迭代器成为可能。这些迭代器在输入/输出(I/O)、网络和生产者/消费者模式中是非常普遍的,Julia 可以用一种直接、准确的方式表达这些迭代器。
 
作用域规则(scope rule)被简化。局部作用域的结构现在可以一致地进行使用,不用管某命名的全局约束是否已经存在。
 
Julia 语言本身是非常好的学习器,很多组件被分割封装进 Julia 的「标准库」包,而不是作为「基础」语言的一部分。如果你需要它们,可以导入它们(无需安装)。未来,标准库还将出现多种版本,并独立于 Julia 更新,这使得它们可以更快地迭代。
 
我们已经对 Julia 的所有 API 进行了完全的评议,以改善稳定性和可用性。对很多模糊的已有命名和无效的编程模式进行了重命名或重构,使之更匹配 Julia 的能力。这使得处理集合更加稳定和一致,以确保参数顺序遵循 Julia 语言中一贯的标准,并在恰当的情况下将(更快的)关键词参数整合进 API。
  • 标签
  • Julia
有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧