Julia

Julia係進階通用動態程式語言，佢最初係為咗滿足高效能數值分析同計算科學嘅需要而設計，唔需要分別編譯速度快，都可用喺用戶端同伺服器嘅Web用途、低階系統程式設計或用作規約語言。

Julia設計獨特之處有參數多型嘅型別系統、完全動態語言中嘅類型同埋佢多分派嘅核心程式設計法。佢容許並行、平行同分散式計算，並直接呼叫C同Fortran庫而唔用黏合程式碼。

Julia有垃圾回收機制， 
使用及早求值，包含咗用喺浮點計算、線性代數、亂數生成同正規表示式符合嘅高效庫。有好多庫可用，其中啲已經預先捆綁喺Julia裏面。

史 

呢個專案大概喺2009年中開始。

功能 
主要用喺數值計算。

特點 
 核心語言極細。標準庫係用Julia語言本身寫嘅。
 呼叫好多其餘成熟嘅高效能基礎程式碼。如線性代數、亂數生成、快速傅立葉變換、字串處理。
 豐富嘅用喺建立或描述物件嘅類型語法
 高效能，近靜態編譯型語言。包括用戶自訂類型等
 為平行計算同分散式計算而設計
 輕量級協程
 優雅嘅可延伸嘅類型轉換/提升
 支援Unicode，包括但不限於UTF-8
 可直接呼叫C函式
 有類似shell嘅行程管理能力
 有類似Lisp嘅巨集同埋其餘超編程工具

例 
曼德博集合：
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

隨機矩陣統計
function randmatstat(t)
    n = 5
    v = zeros(t)
    w = zeros(t)
    for i = 1:t
        a = randn(n,n)
        b = randn(n,n)
        c = randn(n,n)
        d = randn(n,n)
        P = [a b c d]
        Q = [a b; c d]
        v[i] = trace((P.'*P)^4)
        w[i] = trace((Q.'*Q)^4)
    end
    std(v)/mean(v), std(w)/mean(w)
end

Matlab
 GNU Octave
 R (語言)
 Mathematica
 Sagemath

攷

原始碼
 Julia Taiwan 中文文件
 Julia Taiwan Facebook 社團
 中文社群
 JuliaCN
 中文文件

程式語言