-
Julia
(編程語言)
鎖定
Julia 是一個面向科學計算的高性能動態高級程序設計語言。其語法與其他科學計算語言相似。在許多情況下擁有能與編譯型語言相媲美的性能。Julia 是個靈活的動態語言,適合科學和數值計算,性能可與傳統靜態類型語言媲美。
[1-5]
一羣擁有各種語言豐富編程經驗的Matlab高級用户,對現有的科學計算編程工具感到不滿——這些軟件對自己專長的領域表現得非常棒,但在其它領域卻非常糟糕。他們想要的是一個開源的軟件,它要像C語言一般快速而又擁有如同Ruby的動態性;要具有Lisp般真正的同像性(Homoiconicity)而又有Matlab般熟悉的數學記號;要像Python般通用、像R般在統計分析上得心應手、像Perl般自然地處理字符串、像Matlab般具有強大的線性代數運算能力、像shell般膠水語言的能力,易於學習而又不讓真正的黑客感到無聊;還有,它應該是交互式的,同時又是編譯型的……
Julia中文社區正在迅速成長,Julia語言編程開發等問答平台已經建立。
[4]
Julia發展歷史
一羣擁有各種語言豐富編程經驗的Matlab高級用户,對現有的科學計算編程工具感到不滿——這些軟件對自己專長的領域表現得非常棒,但在其它領域卻非常糟糕。他們想要的是一個開源的軟件,它要像C語言一般快速而有擁有如同Ruby的動態性;要具有Lisp般真正的同像性(Homoiconicity)而又有Matlab般熟悉的數學記號;要像Python般通用、像R般在統計分析上得心應手、像Perl般自然地處理字符串、像Matlab般具有強大的線性代數運算能力、像shell般膠水語言的能力,易於學習而又不讓真正的黑客感到無聊;還有,它應該是交互式的,同時又是編譯型的……
v0.1.0 14 Feb 2012
v0.2.0 19 Nov 2013
v0.3.0 21 Aug 2014
v0.4.0 8 Oct 2015
v0.5.0 20 Sep 2016
v0.6.0 19 Jun 2017
v1.0.0 8 Aug 2018
v1.1.0 22 Jan 2019
v1.2.0 20 Aug 2019
Julia功能
主要用於數值計算
Julia特點介紹
- 免費開源
- 核心語言非常小。標準庫用的是 Julia 語言本身寫的
- 調用許多其它成熟的高性能基礎代碼。如線性代數、隨機數生成、快速傅里葉變換、字符串處理。(還在增加中……)
- 豐富的用於建立或描述對象的類型語法
- 高性能,接近於靜態編譯型語言。包括用户自定義類型等
- 為並行計算和分佈式計算而設計
- 輕量級“綠色”協程
- 優雅的可擴展的類型轉換/提升
- 支持Unicode, 包括但不限於UTF-8
- 可直接調用 C 函數(不需要包裝或是藉助特殊的API)
- 有類似shell的進程管理能力
- 有類似Lisp的宏以及其它元編程工具
Julia示例
#生成Mandelbrot集合 function mandel(z) c = z maxiter = 80 for n = 1:maxiter if abs(z) > 2 return n-1 end z = z^2 + c end return maxiter end