咱們想要的是一個自由開源的語言,而且它同時擁有C的速度和Ruby的動態性;咱們想要一個具備同像性(能夠將語言的腳本自己看成數據進行處理)的語言, 它有着真正的和lisp同樣的宏,可是卻像Matlab同樣有着顯然的,相似於數學表達式的標記;咱們想要一個既能夠像Python同樣做爲通用編程語言的工具, 又能夠像R那樣適用於統計分析,能像Perl那樣天然地處理字符串,能像Matlab那樣給力地處理矩陣運算,它還要能像shell同樣做爲膠水將各類程序粘 合在一塊兒;咱們想要一個簡單易學的語言,同時它還能讓最苛刻的魔法師們(hackers)開心。咱們但願它是交互式的,但咱們也但願它能被編譯。shell
我並非數據科學領域的,但喜歡研究一些比較有趣的內容,加入並熟悉他們,Julia 從 0.7 直接跳到了 1.0 , 目前有不少庫和插件都不支持,但終於有一個 1.0 的版本了。我的以爲 julia 這門語言將會成爲經濟領域和科學領域的一個趁手的工具,就像 Golang 是雲計算時代的語言,畢竟語言的誕生都是爲了處理各類數據和問題,固然,適合本身的纔是最好的。編程
Julia 在國內屬於剛起步的狀態,生態和社區都不完善,可是時間能解決一切,在技術行業若是靠一門技術到老那是很是危險的,什麼 Python 是最好的,這就像坐井觀天,不跳出去,永遠也不知道外面的世界有多大。canvas
在遇到問題後推薦首先使用 Google 來尋找答案,找不到的話能夠去 Julia 中文社區 或者 StackOverFlow 上提問,大牛不少,不推薦百度。bash
使用時推薦 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 感興趣的人加入到社區中,搞些東西出來。ide