有望取代Python的新型語言Julia:簡介
什么是Julia語言
Julia是一種高級編程語言,由麻省理工學院(MIT)的4個人開發(fā)。它是一種開源的、高性能的、高級的、用于科學計算的動態(tài)編程語言。它主要用于數(shù)據(jù)分析和統(tǒng)計計算,類似于R編程語言。
Julia的主要優(yōu)點是它的速度,它的應用程序與Python或R相比,運行時間更快。它支持執(zhí)行困難的任務(wù),比如云計算和并行,這被認為是執(zhí)行大數(shù)據(jù)分析的基礎(chǔ)。
什么人使用Julia語言
Julia主要被研究型科學家和工程師使用,除此之外,它也被金融分析師、定量分析師和數(shù)據(jù)科學家使用。Julia語言的開發(fā)人員確保所開發(fā)的產(chǎn)品使Julia易于使用、部署和擴展。Julia可以安裝在各種平臺上,比如Windows、MacOs和Linux。
這里有一個安裝julia的下載鏈接:https://julialang.org/downloads/index.html。
Julia語言的特點
以下特性使julia成為一種流行的編程語言:
- Julia使用動態(tài)類型,類似于腳本,并且很好地支持交互式使用。
- Julia支持高級語法,這使它成為程序員的一種高效語言。
- Julia提供了豐富的描述性數(shù)據(jù)類型語言。
- Julia支持多分派,這使得編寫面向?qū)ο蠛秃瘮?shù)式編程代碼模式變得很容易。
- 由于julia是開源的,所有的源代碼都可以在GitHub上公開查看。
Julia的包
以下是一些最受開發(fā)者歡迎的軟件包:
- interact.jl:交互式小部件,例如下拉、滑塊和復選框,可以輕松地實現(xiàn)julia代碼。
- Generic Linear Algebra:用于擴展線性代數(shù)的功能。
- Colors.jl:這是Julia的一個顏色處理工具。
- UnicodePlots.jl:基于unicode的科學繪圖在終端中工作。
- Nemo:計算機代數(shù)軟件包。
- Revise:在運行的Julia會話中自動更新函數(shù)定義
- BenchmarkTools:基準測試框架。
- OhMyREPL.jl:方括號突出顯示,語法突出顯示和彩虹方括號。
- StaticArrays:提供靜態(tài)大小數(shù)組的框架。
比較Julia和Python
Python是大多數(shù)開發(fā)人員廣泛使用的最流行的語言。而julia是在2012年推出的比python要年輕得多。但考慮到redmonk的排名,許多開發(fā)者可能會使用julia,因為它很快就會流行起來。
Julia的優(yōu)點:
- 從一開始Julia就是為數(shù)值和科學計算而設(shè)計的。毫不奇怪,Julia有許多這樣的用途:
- 默認情況下更快。JIT編譯和JIT類型聲明意味著它可以經(jīng)常擊敗“純”Python。借助外部庫的方法,可以使用Cython、第三方JIT編譯器python等工具進行優(yōu)化,但是Julia的設(shè)計從一開始就加快了速度。
- 一個數(shù)學友好的語法。Matlab、R、Mathematica、Octave等計算語言和環(huán)境的用戶是julia的目標受眾。Julia的數(shù)學運算語法看起來類似于在計算世界之外編寫數(shù)學公式的方式,這使得非程序員更容易理解。
- 自動內(nèi)存管理。與Python一樣,Julia沒有向用戶提供分配和釋放內(nèi)存的細節(jié),而是提供了對垃圾收集的一些控制措施。其思想是,如果您切換到Julia,您不會失去Python的一個常見便利。
Python的優(yōu)點:
Python是一種易于學習的通用計算語言,它已經(jīng)成為科學計算的主要語言。一些原因可能仍然使python成為數(shù)據(jù)科學工作的最佳選擇:
- 仍處于嬰兒階段。Julia仍處于開發(fā)階段,其當前版本運行在v1.1.0上。隨著開發(fā)人員不斷嘗試改進性能,將來還會添加更多的特性。
- 更多的第三方包。python的定制包文化的廣泛使用仍然是該語言的最大興趣所在。Julia的相對新穎性類似于周圍的軟件文化仍然很小。
- Python的大社區(qū)優(yōu)勢。一種語言如果沒有周圍活躍的大型社區(qū)的支持,就無處可去。julia的社區(qū)熱情高漲,并在逐漸壯大,但仍然只是python社區(qū)的一小部分。