MENU

Catalog

    Julia学习笔记(1)--什么是Julia?

    • February 19, 2020 • Read: 3814 • Julia语言

    Julia是一门较新的专门用于科学计算的编程语言,之所以要构建出新的Julia语言,是因为需要添补、克服现有语言在计算科学中的缺点。Julia在开发之初,其理念就是既能够像Python那样通用,又能够具有静态语言的运行速度,如$C/C++$那样的速度。而事实上Julia目前也达到了这样的目的,当然或许并不那么完美。

    Julia computing提供的测试中,Julia在七项基础算法上,比Python快20倍,比R快100,比Matlab快93倍。当然,这里Python指的是纯Python,通常Python在科学计算上,都会采用numpy库进行,这个库提供的函数都是优化过的,速度十分快,我自己的尝试中发现两者速度相当,Julia有时会稍逊一筹。

    speed

    Julia是一个动态的语言,其语法与Python一样简洁,但是由于自身具有多重派发的特性,使得这门语言深入学起来还是比Python难的;事实上,在初学一段时间后,会发现这个语言语法以及多数函数都与Matlab基本一致,所以说学习基础内容会较为容易,当然Julia的运行速度确实比Matlab要快的很多。

    Julia不仅在速度上具有C这样的速度,而且作为一个动态语言而言,变量本身是不需要进行类型申明的,这个特点是动态语言的一个特性极大地方便了程序的开发速度,但是,Julia也可以进行函数中变量类型的申明,不同的类型都可以绑定同一个函数上,即一个函数会具有多重的方法,这也称为多重派发。Julia语言是一种基于函数式编程的语言,所以对于熟悉Matlab的人员来说,这是一门很容易上手的语言。

    Julia的生态目前来说不如Python丰富,还缺乏一些高质量的库,但是即时编译技术的应用,使得在Julia中自己编写的函数在运行速度上与Julia的内置函数是一样的,这是非常好的一点。简而言之,Julia就是:

    • 快!
    • 动态
    • 可选类型
    • 通用
    • 易用
    • 开源
    Archives Tip
    QR Code for this page
    Tipping QR Code