Julia 入门学习教程
有一門語言,它看起來像 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簡明教程》,免費在線學習全部章節內容。
總結
以上是生活随笔為你收集整理的Julia 入门学习教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】视频CDN技术原理与流程说明
- 下一篇: Python内置库:array(简单数组