Fortran Coder

查看: 9211|回复: 5
打印 上一主题 下一主题

[科学软件] 科学计算的新神器Julia

[复制链接]

127

帖子

35

主题

1

精华

大师

F 币
1153 元
贡献
592 点
跳转到指定楼层
楼主
发表于 2019-1-28 22:38:58 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 boilerplateJulia 可以直接调用 C/Fortran 的函数,不需要任何"胶水"代码,代码生成或其它编译过程 – 即使在交互式会话 (REPL/Jupyter notebook) 中使用也一样. 在 Julia 中,上述特性可以仅仅通过调用 ccall 实现,它的语法看起来就像是普通的函数调用。

Julia 中文社区:https://cn.julialang.org/






分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

127

帖子

35

主题

1

精华

大师

F 币
1153 元
贡献
592 点
沙发
 楼主| 发表于 2019-1-28 23:17:04 | 显示全部楼层
vvt 发表于 2019-1-28 23:00
所以他到底是编译型语言还是解释型语言?

Julia 程序被 LLVM 编译成高效的多平台机器码。
应该只比纯编译慢一点
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 20:07

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表