有一門語言,它看起來像 Python ,感覺起來像 Lisp ,運行起來又像 C 一樣快速,他就是Julia,
近年來,Julia 語言已然成為編程界的新寵,尤其在科學計算和人工智能領域炙手可熱,
據 Julia Computing 的宣傳,在七項基礎演算法的測驗中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍,
為什么 Julia 能做到這些,看一下它的開發者的初衷:
“我們想要的是一種自由開源的語言,它同時擁有 C 的速度和 Ruby 的動態性;我們想要一個可以像 Python 一樣作為通用編程語言的工具, 像 R 那樣適用于統計分析,像 Perl 那樣自然地處理字串,像 MATLAB 那樣給力地處理矩陣運算,它還要能像 Shell 一樣作為膠水將各種程式粘合在一起……”
Julia 在開發之初就將這些理念納入其中,才有了今天的成績,
實驗樓上線了一門免費的 Julia 入門課程 ---《Julia簡明教程》,包含 6 個實驗和一個挑戰,你將學習到 Julia 的基礎語法,并親手用 Julia 開發出一個小專案,
建議點擊課程鏈接,直接使用實驗樓的在線虛擬機學習這門課,效果會更好,
以下為課程第一節內容:
一、實驗簡介
本課程作為 Julia 這門編程語言的入門教程,旨在介紹其基礎語法,希望大家能夠通過本課程的學習,熟練掌握 Julia 的語法風格和編程習慣,
二、知識點
- Julia 簡介
- 在實驗環境中安裝 Julia
- Julia REPL 用法
三、Julia 簡介
根據維基百科中的描述,大約在 2009 年,一群擁有各種語言豐富編程經驗的 Matlab 高級用戶,對現有的科學計算編程工具感到不滿 —— 這些軟體對自己專長的領域表現得非常棒,但在其它領域卻非常糟糕,
他們想要的是一個開源的軟體,它要像 C 語言一般快速而又擁有如同 Ruby 的動態性;要具有 Lisp 般真正的同向性而又有 Matlab 般熟悉的數學記號;要像 Python 般通用、像 R 一般在統計分析上得心應手、像 Perl 般自然地處理字串、像 Matlab 般具有強大的線性代數運算能力、像 shell 一般擁有膠水語言的能力,易于學習而又不讓真正的黑客感到無聊;還有,它應該是互動式的,同時又是編譯型的,
最后 Julia 出現之后,大家評價它看起來像 Python ,感覺起來像 Lisp ,運行起來像 C ,
以下描述來自官方檔案:
Julia 與傳統動態語言最大的區別是:
1. 核心語言很小;標準庫是用 Julia 本身寫的,如整數運算在內的基礎運算
2. 完善的型別,方便構造物件和做型別宣告
3. 基于引數型別進行函式 多載
4. 引數型別不同,自動生成高效、專用的代碼
5. 高性能,接近靜態編譯語言,如 C 語言
Julia 想要變成一個前所未有的集易用、強大、高效于一體的語言,除此之外,Julia 的優勢還在于:
1. 免費開源( MIT 協議 )
2. 自定義型別與內置型別同樣高效、緊湊
3. 不需要把代碼向量化;非向量化的代碼跑得也很快
4. 為并行和分布式計算而設計
5. 輕量級 “綠色” 執行緒( 協程 )
6. 低調又牛逼的型別系統
7. 優雅、可擴展的型別轉換
8. 高效支持 Unicode, 包括且不只 UTF-8
9. 直接呼叫 C 函式(不需封裝或 API)
10. 像 Shell 一樣強大的管理其他行程的能力
11. 像 Lisp 一樣的宏和其他元編程工具
四、安裝 Julia
打開實驗環境,我們要安裝目前最新的 Julia1.3 版本(截止 2020 年 1 月),
首先,在終端執行 wget-c https://julialang-s3.julialang.org/bin/linux/x64/1.3/julia-1.3.1-linux-x86_64.tar.gz 命令下載安裝包,這是官方提供的下載地址,因為此安裝包比較大,90 多 M ,所以建議大家執行如下命令下載它:
wget https://labfile.oss.aliyuncs.com/courses/1485/julia-1.3.1-linux-x86_64.tar.gz
首先在終端命令列執行 cd 命令切換到用戶家目錄 /home/shiyanlou ,然后再執行上述命令:
下載完成之后,會在當前目錄下出現 Julia 的安裝包 julia-1.3.1-linux-x86_64.tar.gz ;執行 tar xzvf julia-1.3.1-linux-x86_64.tar.gz 命令,即可完成解包;然后將 Julia 的可執行檔案創建一個軟連接到 /usr/bin 目錄下即可完成全部安裝作業:
cd /usr/bin
sudo ln -s ~/julia-1.3.1/bin/julia julia
cd
julia
如上圖所示,終端執行 julia 命令即可進入命令列互動解釋器,也叫 REPL ,這個是不是有些熟悉呢?各個資料庫以及 Python 都有這個互動工具,輸入 exit() 或按下快捷鍵 Ctrl + D 即可退出,終端執行 julia-version 命令可以查看版本:

啟動 Julia 命令列互動解釋器的時候,會列印一張橫幅,如上圖所示,我們可以創建一個檔案,使其在列印橫幅之前,列印一些別的:
mkdir .julia/config
echo 'println("Hello Shiyanlou")' > .julia/config/startup.jl
julia

如上圖所示,在啟動 REPL 時,先列印了一行字:Hello Shiyanlou ,熟悉 Python 的同學都知道列印資訊到螢屏上使用的是 print 方法,在 Julia 中是 println 方法,而且需要切記的是,在 Julia 中單引號和雙引號不可混用,只有雙引號才能描述字串,
五、Julia REPL 的四種模式
進入 REPL 之后,會有 julia> 字樣的提示符,這是常規模式,我們可以在其中執行一些代碼:
julia> println("hello kitty")
hello kitty
julia> 2 + 3
5
julia> ans
5
julia> x = 5
5
julia> x -= 1
4
julia> x
4
julia> x *= 2
8
julia> x
8
julia>
如上所示,ans 這個變數會保存上一次命令的執行結果,它僅在命令列互動解釋器中適用,不可寫到 jl 檔案里,Julia 的檔案后綴為 jl ,如同 Python 檔案的后綴為 py ,
除了常規模式,REPL 還有 help 模式、shell 模式和 package 模式,
六、help 模式
在常規模式下輸入問號即可進入 help 模式,此模式的提示符是 help?> ,輸入一個方法,即可顯示此方法的幫助資訊,然后自動回到常規模式:
這等同于在常規模式下使用 @doc 這個宏來查看幫助資訊:
七、shell 模式
在常規模式下輸入分號 ; 進入 shell 模式,提示符為 shell> ,這等同于環境終端,可以執行 zsh 命令,同樣是執行完一個命令后自動退回到常規模式:
八、package 模式
常規模式下輸入中括號 ] 進入 pkg 模式,提示符為 (v1.3)pgk> ,括號里面是版本號,這是包管理模式,
該模式下輸入 status 命令可以查看包狀態, add 命令添加工具包, rm 命令洗掉工具包:
安裝這個包需要較長時間,執行 rm 命令洗掉它:
按退格鍵 Backspace 回到常規模式,
九、總結
本節實驗主要介紹了 Julia 語言的來源,它與很多其它語言很像,這是因為作者是集各家之長創造的 Julia ,在實驗環境中的安裝方法十分簡單,下載安裝包,解包,設定軟連接,
此外還介紹了命令列互動解釋器的四種模式,在后面的課程中,我們會用到它們,
下一節實驗將會學習 Julia 的變數,
想要學習下面的內容,大家可以點擊《Julia簡明教程》,免費在線學習全部章節內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24580.html
標籤:其他
上一篇:跟著老寇學習Java之軟體簡述
下一篇:機器人的運動范圍
