看到一篇文章 集Python、C++、R为一体的语言,她是?
我们想要一种拥有自由许可的开源语言。我们想要它拥有 C 的速度与 Ruby 的灵活。它要容易理解,像 Lisp 一样真正地支持宏,但也要有像 Matlab 一样的明显、熟悉的数学符号。它还要像 Python 一样可用于通用编程,像 R 一样易于统计,像 Perl 一样可自然地用于字符串处理,像 Matlab 一样擅长线性代数,像 shell 一样擅长将程序粘合在一起。总之,它既要简单易学,但也要让最严肃的黑客开心。我们既希望它是交互式,也希望它是可编译的。
Julia 还拥有非常强大的生态系统,主要应用于数据可视化、通用计算、数据科学、机器学习、科学领域、并行计算六大领域。
Julia 在规模化机器学习领域为深度学习、机器学习和 AI 提供了强大的工具(Flux 和 Knet)。Julia 的数学语法使其成为表达算法的理想方式,支持构建具有自动差异的可训练模型,支持 GPU 加速和处理数 TB 的数据。Julia 丰富的机器学习生态系统还提供监督学习算法(如回归、决策树)、无监督学习算法(如聚类)、贝叶斯网络和马尔可夫链蒙特卡罗包等。
Julia 1.0
官网:https://julialang.org/
Github:https://github.com/JuliaLang/julia
Julia 1.0 在 Mac 上的安装
下载:https://julialang.org/downloads/
安装完成后,就可以双击打开 Julia 编译器:
我们也可以将 Julia 添加到环境变量中,打开 .bash_profile
,添加如下内容:
export PATH=${PATH}:/Applications/Julia-1.0.app/Contents/Resources/julia/bin
记得执行 source .bash_profile
使其生效。这样在 Terminal 中就可以通过 julia
命令进入 Julia 控制台:
示例代码:
Hello World 示例
在 Desktop/Julia/
目录下创建文件 hello_world.jl
:
println("hello world")
在 Terminal 中通过 julia 文件名
命令执行这段代码:
求解方程 示例
在 Desktop/Julia/
目录下创建文件 quadratic2.jl
:
quadratic(a, sqr_term, b) = (-b + sqr_term) / 2a
# 求解方程 0 = a*x^2+b*x+c, 参数类型可在函数定义时声明
function quadratic2(a::Float64, b::Float64, c::Float64)
# 与很多程序语言不一样的是,2*a可以用2a来表示
# 另外,a**2和pow(a,2)可以用a^2来表示
sqr_term = sqrt(b^2-4a*c)
r1 = quadratic(a, sqr_term, b)
r2 = quadratic(a, -sqr_term, b)
# 函数可以同时传回多个返回值
# 如果函数中没有使用return来标明返回值,则函数会返回最后一段表达式中的变量
r1, r2
end
quad1, quad2 = quadratic2(2.0, -2.0, -12.0)
println("result 1: ", quad1)
# 程序输出: result 1: 3.0
println("result 2: ", quad2)
# 程序输出: result 2: -2.0
机器学习 示例
Julia provides powerful tools for deep learning (Flux and Knet), machine learning and AI.
未完待续。