Julia語言
外觀
Julia是一个進階通用動態程式語言,伊上頭仔是為著滿足高效能數值分析佮計算科學的需要而設計的,無需要直譯器,速度緊咧,嘛會當用佇咧客戶捀和侍服器的 Web 用途、低階系統程式設計抑是用做規約語言。
Julia 設計獨特的所在包括,參數多型的型別系統,完全動態語言內底的類型,猶閣有伊多分派的核心程式設計範式。伊允准並行、伊並列佮分散式計算,並直接呼叫 C 和 Fortran 庫而不使用粘合代碼。
Julia 有糞埽回收的機制,使用佮早求值,包括著用著浮點計算、線性代數、亂數生成佮正規表示式匹配的高效庫。有真濟庫會使用,其中一寡(用佇快速傅立葉仔變換的庫)已經按算縛佇咧 Julia 內底。
歷史
一陣有各種的語言豐富編程經驗的 Matlab 進階使用者,對現有的科學計算編程工具感覺不滿—— 遮的軟體對家己專長的領域表現甲誠好,但是其他的領域煞足䆀的。𪜶想欲愛的是一个開源的軟體,伊欲像 C 語言一般快速而且閣擁有親像 Ruby 的動態性;欲具有 Lisp 咱真正的同像性而且有 Matlab 普通熟似的數學記號;愛像 Python 普通用、像 R 咱這馬統計分析有心應手、像 Perl 般自然的共處理字捾、像 Matlab 普通有咧強大的線性代數運算能力、像 shell 平膠水語言的能力,好佇學習而且無予真正的駭客感覺無聊;閣有,伊應該是互動式的,同時又閣是編譯型的。
這个專案大約是二空空九年中開始。
功能
主要用佇數值計算。
特點
- 核心語言足細的。標準庫用的是 Julia 語言本身寫的
- 呼叫真濟其他成熟的高效能基礎代碼。如線性代數、亂數生成、快速傅立葉變換、字串處理。
- 豐富的用佇咧建立抑是描述物件的類型語法
- 高效能,接近於靜態編譯型語言。包括使用者自訂類型等
- 為平行計算佮分散式計算爾設計
- 輕量級協程
- 優雅的會當延伸的類型轉換 / 提升
- 支援 Unicode,包括但是無限於 UTF ma八
- 會當直接叫 C 函式(無需要包裝抑是利用特殊的 API)
- 有類似 shell 的行程管理能力
- 有類似 Lisp 的巨集佮其他的元程式設計工具
- 可與 Jupyter notebook 做伙使用
範例
生成 Mandelbrot 集合矣
隨機矩陣統計
參考資料
參閱
外部連結
- 官方網站(英文)
- 原始碼(英文)
- 中文社群(簡體中文)
- 中文文件(簡體中文)