Julia (programazio-lengoaia)

Julia konputazio teknikorako programazio-lengoaia bat da, goi-mailakoa, kode irekikoa, plataforma anitzekoa eta errendimendu handikoa. 2009an sortu eta 2012an plazaratu zuten MIT ospetsuan.
ezkerrera|thumb|Logotipoa
Juliarekin C eta FORTRAN bezalako lengoaien pareko errendimendua lor daiteke LLVMn oinarritutako JIT konpiladoreari esker baina behe-mailako lengoaien zailtasunik gabe.

Julia script-lengoaien (interpretatuen) antzera modu interaktiboan exekuta daiteke baina baita ere, Julia programaren exekutagarria konpilatuz sor daiteke. 

Julia datu-mota dinamikoak darabiltzan lengoaia da, funtzio edo metodoaren inplementazioa exekuzio-denboran bidaltzeko aukera eskaintzen du eta konputazio paralelorako diseinatuta dago. 

Juliak pakete-kudeatzaile bat dauka.

 Alderaketa beste lengoaia batzuekin 
Julia lengoaia, Python bezain erraza, C bezain azkarra dela esaten da.

Honako benchmark hau nukleo bakarreko Intel(R) Xeon(R) CPU E7-8850 2.00GHz CPU 1TB eta 1067MHz DDR3 RAM duen mikroprozesadore batean lortu da, Linuxen gainean martxan jarrita: 

{| class="wikitable"
For
tranJuliaPy
thonRMat
labOctaveMathe-
maticaJava
ScriptGoLua
JITJavafib0,702,1177,76533,5226,899324,35118,533,361,861,711,21parse_int5,051,4517,0245,73802,529581,4415,026,061,205,773,35quicksort1,311,1532,89264,544,921866,0143,232,701,292,032,60mandel0,810,7915,3253,167,58451,815,130,661,110,671,35pi_sum1,001,0021,999,561,00299,311,691,011,001,001,00rand_
mat_stat1,451,6617,9314,5614,5230,935,952,302,963,273,92rand_
mat_mul3,481,021,141,571,121,121,3015,071,421,162,36
C lengoaian konpilatutako kodeari dagozkion emaitzak (faktorea=1). Zenbat eta txikiagoa izan zifra, orduan eta hobea da abiadura.

 Programa adibideak 

 Kaixo mundua 
Kaixo mundua adibidea:print ("Kaixo mundua!")edo besterik gabe beste hau"Kaixo mundua!"

 Quicksort 
Hau da Julia programa bat zenbaki asko Quicksort algoritmoa erabiliz ordenatzen dituena:using BenchmarkTools

# quicksort ordenazio-algoritmoaren bertsioa ilara-errekurtsioa erabiliz: https://stackoverflow.com/questions/19094283/quicksort-and-tail-recursive-optimization
function qsort!(a,lo,hi)
    i, j = lo, hi
    @inbounds while i < hi
        pivot = a[(lo+hi)>>>1]
        while i <= j
            while a[i] < pivot; i += 1; end
            while a[j] > pivot; j -= 1; end
            if i <= j
                a[i], a[j] = a[j], a[i]
                i, j = i+1, j-1
            end
        end
        if lo < j; qsort!(a,lo,j); end
        lo, j = i, hi
    end
    return a
end

 Erreferentziak 

 Julia: A Fast Dynamic Language for Technical Computing (pdf)
 Julia: A Fresh Approach to Numerical Computing (pdf)

 Bibliografia 

 Tobin A Driscoll and Richard J. Braun (Aug, 2022). "Fundamentals of Numerical Computation: Julia Edition". SIAM. ISBN 978-1-611977-00-4,
 C. T. Kelley (2022). "Solving Nonlinear Equations with Iterative Methods: Solvers and Examples in Julia". SIAM. ISBN 978-1-611977-26-4.

 Clemens Heitzinger (2022): "Algorithms with Julia". Springer. ISBN 978-3-031-16559-7.

 Ikus, gainera 

 Python (informatika)
 Helburu orokorreko programazio-lengoaia

 Programazio-lengoaia

 Zerrenda:Programazio-lengoaiak
 Programazio-lengoaien arteko konparazioa

 Kanpo estekak 

 Webgune ofiziala
 The Fast Track to Julia. A quick and dirty overview of Julia

Kategoria:Programazio lengoaiak
Kategoria:Konputazio paraleloa
Kategoria:Plataforma anitzeko softwarea
Kategoria:2012ko softwarea