Julia语言特性简介

         Julia语言是一种为高性能数值计算设计的高层次动态编程语言,在分布式并行化、精确数值计算等方面提供了独具特色的支持,并包含大量可扩展的数学函数库。尤其是在线性代数、随机数生成、信号处理、字符串处理等方面,集成了众多成熟、优秀的基于C和Fortran开发的开源库,有着很高的性能与效率。另外,Julia有着强大开放的开发者社区,贡献了大量的第三方库,并可通过内置的包(Package)管理器进行方便的安装使用。

    更多的特点还有:

  • 多态分发(Multiple Dispatch)机制:通过不同类型的参数组合,可以定义同名函数不同的行为;
  • 动态类型系统:用户自定义的类型可像内置类型一样快速、轻便;
  • 简洁又可扩展的数值类型转换与提升机制;
  • 高效能的多语言编码环境,支持包括UTF-8在内的各种Unicode编码[];
  • 原生设计的并行与分布式计算机制;
  • 轻量级的“绿色”线程——协程机制;
  • 优秀的性能,可以与静态编译的C语言媲美;
  • Lisp语言式的宏及元编程(Meta-programming)范式的支持;
  • 内置的第三方功能包管理器;
  • 可与Python、R、Matlab及Java等语言进行混合编程;
  • 类似于Shell的外部程序调用;
  • 无需额外的封装层或特别的API,即可直接调用C语言的库函数;

      可以说Julia在很多方面都独具特色。比如在并行化计算方面,Julia并没有专门设计特殊的语法结构,而是提供了足够灵活的机制,并可自动进行分布式的部署,能够实现云端操作,使得并行化编程时极为便捷。

      值得称道的是,Julia语言基于MIT许可证[],是开源、免费的。而且其生态中的各种库与软件也主要采用GPL、LGPL或BSD等许可。核心代码及各种第三方大部分均托管在Github这个有名的开源代码管理平台中。用户可以获得源代码,了解语言的各种实现细节,不但能对语言进行更深入的学习,也能够设计思路方面受益。

      使用Julia开发有着非常好的体验。不但语法自然简洁,而且结构清晰,效率也非常高。更为可贵的是,其性能也不差。优秀的语言设计结合强大的即时(Just-In-Time,JIT)编译系统LLVM[],使得Julia的运行性能在很多时候能够媲美C语言。

     在一份官方提供的Benchmark中,相比于C、Fortran、Python、Matlab/Octave、R、JavaScript、Java、Lua与Mathematica等其他语言,Julia在性能方面有着卓越的表现。

     Julia语言v0.1版发布于2013年2月14日,截止书稿时,最新版本为v0.6.2,发布于2017年12月14日。经过数次的版本迭代,Julia语言已经日趋成熟,并已经在科学计算领域斩落头角。完全可以相信,在不久的将来,在众多的编程语言中,尤其是在科学计算领域方面,Julia必能占有一席之地。

     ------- 节选自本人新书内容:魏坤著《Julia语言程序设计》,机械工业华章图文出版。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值