为什么要学习 Julia

Julia 是随机器学习而兴起的语言

我们想要的是一个自由开源的语言,并且它同时拥有C的速度和Ruby的动态性;我们想要一个具有同像性(可以将语言的脚本本身当作数据进行处理)的语言, 它有着真正的和lisp一样的宏,但是却像Matlab一样有着显然的,类似于数学表达式的标记;我们想要一个既可以像Python一样作为通用编程语言的工具, 又可以像R那样适用于统计分析,能像Perl那样自然地处理字符串,能像Matlab那样给力地处理矩阵运算,它还要能像shell一样作为胶水将各种程序粘 合在一起;我们想要一个简单易学的语言,同时它还能让最苛刻的魔法师们(hackers)开心。我们希望它是交互式的,但我们也希望它能被编译。

我并不是数据科学领域的,但喜欢研究一些比较有趣的内容,加入并熟悉他们,Julia 从 0.7 直接跳到了 1.0 , 目前有很多库和插件都不支持,但终于有一个 1.0 的版本了。个人觉得 julia 这门语言将会成为经济领域和科学领域的一个趁手的工具,就像 Golang 是云计算时代的语言,毕竟语言的诞生都是为了处理各种数据和问题,当然,适合自己的才是最好的。

Julia 在国内属于刚起步的状态,生态和社区都不完善,但是时间能解决一切,在技术行业如果靠一门技术到老那是非常危险的,什么 Python 是最好的,这就像坐井观天,不跳出去,永远也不知道外面的世界有多大。

在遇到问题后推荐首先使用 Google 来寻找答案,找不到的话可以去 Julia 中文社区 或者 StackOverFlow 上提问,大牛很多,不推荐百度。

使用时推荐 Julia Pro ,集成了 notebook 和一些常用的类库。 下面是一些常用的演示,来源于网络,但更新了一些函数的用法:


in

[(i,j) for i in 1:7 , j in 1:7]
复制代码

out:

7×7 Array{Tuple{Int64,Int64},2}:
(1, 1)  (1, 2)  (1, 3)  (1, 4)  (1, 5)  (1, 6)  (1, 7)
(2, 1)  (2, 2)  (2, 3)  (2, 4)  (2, 5)  (2, 6)  (2, 7)
(3, 1)  (3, 2)  (3, 3)  (3, 4)  (3, 5)  (3, 6)  (3, 7)
(4, 1)  (4, 2)  (4, 3)  (4, 4)  (4, 5)  (4, 6)  (4, 7)
(5, 1)  (5, 2)  (5, 3)  (5, 4)  (5, 5)  (5, 6)  (5, 7)
(6, 1)  (6, 2)  (6, 3)  (6, 4)  (6, 5)  (6, 6)  (6, 7)
(7, 1)  (7, 2)  (7, 3)  (7, 4)  (7, 5)  (7, 6)  (7, 7)
复制代码

using PyPlot
n = 100
u = linspace(0,2*π,n);
v = linspace(0,π,n);

x = cos.(u) * sin.(v)';
y = sin.(u) * sin.(v)';
z = ones.(n) * cos.(v)';

# The rstride and cstride arguments default to 10
surf(x,y,z, rstride=4, cstride=4)
复制代码


using PyPlot
x = linspace.(0,2*pi,1000); y = sin.(3*x + 4*cos.(2*x));
PyPlot.plot(x, y, color="red", linewidth=2.0, linestyle="--")
title("A sinusoidally modulated sinusoid")
复制代码


using PyPlot
PyPlot.ion()
fig = figure()
ax = fig[:add_subplot](111)
img = ax[:imshow](rand(50,50))
#PyPlot.show()
 # draw some data in loop
for i in 1:10
  # wait for a second
  sleep(1)
  # replace the image contents
  img[:set_array](rand(50,50))
  # redraw the figure
  fig[:canvas][:draw]
end
复制代码

此帖是一个普及帖,因为本人工作主要是 Java ,对于数据科学领域还不是很熟悉,如有错误希望指正,同时也希望各行各业对 Julia 感兴趣的人加入到社区中,搞些东西出来。

猜你喜欢

转载自juejin.im/post/5b762f45e51d45662b075d5f