睡前想好千条路,睡醒还是走原路。
一、介绍
Julia是一种高级通用动态编程语言,它最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要解释器,速度快,也可用于客户端和服务器的Web用途、低级系统编程或用作规约语言。
Julia设计的独特之处包括,参数多态的类型系统,完全动态语言中的类型,以及它多分派的核心编程范型。它允许并发、并行和分布式计算,并直接调用C和Fortran库而不使用粘合代码。
Julia拥有垃圾回收机制,使用及早求值,包含了用于浮点计算、线性代数、随机数生成和正则表达式匹配的高效库。有许多库可以使用,其中一些(如用于快速傅里叶变换的库)已经预先捆绑在Julia里。
二、特性
- 核心语言非常小。标准库用的是Julia语言本身写的
- 调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。
- 丰富的用于创建或描述对象的类型语法
- 高性能,接近于静态编译型语言。包括用户自定义类型等
- 为并行计算和分布式计算而设计
- 轻量级协程
- 优雅的可扩展的类型转换/提升
- 支持Unicode,包括但不限于UTF-8
- 可直接调用C函数(不需要包装或是借助特殊的API)
- 有类似shell的进程管理能力
- 有类似Lisp的宏以及其它元编程工具
- 可与jupyter notebook 一起使用