Julia语言介绍

Julia语言介绍

官网:https://julialang.org/

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

Julia 是一个面向科学计算的高性能动态高级程序设计语言。

首先定位是通用编程语言,其次是高性能计算语言。

发展历史

2009年中,Julia语言诞生于MIT。

2012年2月14日,发布v0.1.0版本。

2018年8月8日,发布v1.0.0版本。

2021年11月30日,发布v1.7.0版本。

诞生背景

尝试寻找两种编程语言性能和动态的平衡点:静态语言和动态语言。

双重编程语言的问题,语法与速度。

Why We Created Julia

We are greedy: we want more.

We want a language that's open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that's homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.

期望

Julia 语言的缔造者们对它的期望是这样的:

  • 程序运行速度像 C 语言;
  • 通用性像 Python 语言;
  • 动态语言特性像 Ruby 语言;
  • 统计分析便利性像 R 语言;
  • 字符串处理便捷性像 Perl 语言;
  • 线性代数运算能力像 MATLAB 语言;
  • 元编程能力像 Lisp 语言;
  • 操作系统的能力像 Shell 语言。

目前来说,上述期望还真在很大程度上实现了!

特点

Fast、Dynamic、Reproducible、Composable、General、Open source

快速、动态、可复用的环境、可组合性、通用、开源

写起来快

语法基于数学语言。

支持的编程范式:面向对象和函数式。

julia语法复杂度最多有1/3个ruby,1/20个scala,1/30个cpp。---知乎上某用户的评价

跑起来快

Julia Joins Petaflop Club - Julia Computing

Petaflop :每秒千万亿次浮点运算

Petaflop Club成员目前有四个:Fortran、C、C++、Julia

优缺点

优点

  1. Julia 的运算速度能接近 C++ 和 Fortran。
  1. Julia 的可读性比其他语言好,(十年后回头看自己的代码也能秒懂)。

缺点

  1. 社群小,学习资料主要是英文。
  1. 包不够多,目前6000多个了,不过有些处于废弃状态。

可持续发展与开源

项目开源,但团队成员均是全职,几乎都是 Julia 委员会的长期成员。

资金来源:

  1. 商业咨询服务
  1. 赞助

Fichser(项目的长期贡献者之一)指出,“开源项目的货币化努力总是压力重重。在项目开发早期,就有一些风投建议我们把性能优化功能当作付费开放的选项,这样更容易获利。但我们不想这么干,我们开发 Julia 的初衷就是为人们提供能真正解决困难问题的工具,而为了赚钱故意把核心功能去掉简直离谱。所以我们坚定了决心,要找到一条既不阻碍技术应用、也能从中获利的发展道路。”

Julia Computing 公司

Julia Computing - Julia Computing

该公司成立于 2015 年,其成立最重要的目的就是为了发展 Julia 语言。其旗舰产品 JuliaHub 是一个 SaaS(Software as a Service)平台,允许用户直接在平台上使用 Julia 开发、部署应用,并扩展上千个节点。

MIT roboticists program robots in Julia

Julia的使用者/Julia Computing的客户

使用

安装

下载地址:https://julialang.org/downloads/

  • windows:运行exe,一路确认
  • linux:https://www.cnblogs.com/qujingtongxiao/p/12595851.html

IDE

  • ATOM

Windows10 Atom安装和运行Julia的使用教程(详细) - it610.com

  • VSCODE

Julia +VS code windows下配置 - 程序员大本营

目前建议用atom,不过未来属于vscode

线上环境

Julia在线运行,代码编译测试 - 在线编译器(nhooo.com)

Want to try programming in Julia?

包管理

Julia现在的包已有6000多个,常用的基本都有了。

已注册包的路径:C:\Users\{yourname}\.julia\registries\General

安装已注册的包,在REPL 环境中

  1. 运行 import Pkg
  1. Pkg.add("包名")

入门资料

  1. Learn Julia in Y Minutes
  1. JuliaIntro

入门这两个足够了。

参考

1. 关于Julia语言的人和事 - 知乎

Julia 生态发展之路 - 知乎

Julia生产环境就绪了吗?Bogumił Kamiński的访谈-InfoQ

开源编程语言Julia融资1.6亿,人气10倍速飙升-InfoQ

一图了解 Julia(lang) v2.0 狐狸教程

《Julia 编程基础》正式出版! 狐狸教程

为什么要多重派发?(Why multiple dispatch?) - 知乎

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值