本帖最后由 weixing1531 于 2019-1-28 23:19 编辑
相比于Matlab的又贵又慢、Python的缩进与慢、Fortran的落后整个时代 科学计算的新神器Julia似乎是不错的选择,其特点如下:
- 免费开源
- 核心语言非常小。标准库用的是 Julia 语言本身写的
- 调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。(还在增加中……)
- 丰富的用于建立或描述对象的类型语法
- 高性能,接近于静态编译型语言。包括用户自定义类型等
- 为并行计算和分布式计算而设计
- 轻量级“绿色”协程
- 优雅的可扩展的类型转换/提升
- 支持Unicode, 包括但不限于UTF-8
- 可直接调用 C 函数(不需要包装或是借助特殊的API)
- 有类似shell的进程管理能力
- 有类似Lisp的宏以及其它元编程工具
在 Julia 中,数组、字符串等的索引从 1 开始,而不是从 0 开始。这点跟Fortran一样!我个人很不喜欢C家族语言,总觉得科学计算必须从 1 开始,从 0 开始的都是异类!
在数值计算领域,尽管有很多用 C 语言或 Fortran 写的高质量且成熟的库都可以用 Julia 重写,但为了便捷利用现有的 C 或 Fortran 代码,Julia 提供简洁且高效的调用方式。Julia 的哲学是 no boilerplate。Julia 可以直接调用 C/Fortran 的函数,不需要任何"胶水"代码,代码生成或其它编译过程 – 即使在交互式会话 (REPL/Jupyter notebook) 中使用也一样. 在 Julia 中,上述特性可以仅仅通过调用 ccall 实现,它的语法看起来就像是普通的函数调用。
Julia 中文社区:https://cn.julialang.org/
|