Edukira joan

Julia (programazio-lengoaia)

Wikipedia, Entziklopedia askea
 Julia (programazio-lengoaia)
Jatorria
Sorrera-urtea2009
Argitaratze-data2012
Azken bertsioa1.11.0
Ezaugarriak
Programazio paradigmaObjektuetara bideratutako programazioa, Programazio funtzional, Programazio inperatibo, multi-paradigm programming (en) Itzuli, array programming (en) Itzuli, metaprogramming (en) Itzuli, procedural programming (en) Itzuli, konputazio paralelo eta Multiple dispatch (en) Itzuli
Media motatext/julia
Irakur dezakaCSV, Hierarchical Data Format (en) Itzuli, Office Open XML, netCDF (en) Itzuli eta Julia source code file (en) Itzuli
Sistema eragileaLinux, Microsoft Windows eta MacOS X
Idatz dezakeJulia source code file (en) Itzuli
Deskribapena
Honen eragina jaso duMATLAB, Python, Lisp, C, FORTRAN, NumPy (en) Itzuli, Lua, R, Scheme, Perl eta Ruby
Ekoizpena
DiseinatzaileaJeff Bezanson (en) Itzuli, Alan Edelman (en) Itzuli, Stefan Karpinski (en) Itzuli eta Viral B. Shah (en) Itzuli
GaratzaileaJeff Bezanson (en) Itzuli, Stefan Karpinski (en) Itzuli, Alan Edelman (en) Itzuli eta Viral B. Shah (en) Itzuli

julialang.org
Twitter: JuliaLanguage GitHub: JuliaLang Edit the value on Wikidata

Julia konputazio teknikorako programazio-lengoaia bat da, goi-mailakoa, kode irekikoa, plataforma anitzekoa eta errendimendu handikoa. 2009an sortu eta 2012an plazaratu zuten MIT ospetsuan.[1][2]

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

[aldatu | aldatu iturburu kodea]

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:[3]

For

tran

Julia Py

thon

R Mat

lab

Octave Mathe-

matica

Java

Script

Go Lua

JIT

Java
fib 0,70 2,11 77,76 533,52 26,89 9324,35 118,53 3,36 1,86 1,71 1,21
parse_int 5,05 1,45 17,02 45,73 802,52 9581,44 15,02 6,06 1,20 5,77 3,35
quicksort 1,31 1,15 32,89 264,54 4,92 1866,01 43,23 2,70 1,29 2,03 2,60
mandel 0,81 0,79 15,32 53,16 7,58 451,81 5,13 0,66 1,11 0,67 1,35
pi_sum 1,00 1,00 21,99 9,56 1,00 299,31 1,69 1,01 1,00 1,00 1,00
rand_

mat_stat

1,45 1,66 17,93 14,56 14,52 30,93 5,95 2,30 2,96 3,27 3,92
rand_

mat_mul

3,48 1,02 1,14 1,57 1,12 1,12 1,30 15,07 1,42 1,16 2,36

C lengoaian konpilatutako kodeari dagozkion emaitzak (faktorea=1). Zenbat eta txikiagoa izan zifra, orduan eta hobea da abiadura.

Programa adibideak

[aldatu | aldatu iturburu kodea]

Kaixo mundua adibidea:

print ("Kaixo mundua!")

edo besterik gabe beste hau

"Kaixo mundua!"

Hau da Julia programa bat zenbaki asko Quicksort algoritmoa erabiliz ordenatzen dituena:[4][5]

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

[aldatu | aldatu iturburu kodea]
  1. Bezanpson, Jef. Julia: A Fast Dynamic Language for Technical Computing. .
  2. (Ingelesez) Bezanson, Jeff; Edelman, Alan; Karpinski, Stefan; Shah, Viral B.. (2017-01). «Julia: A Fresh Approach to Numerical Computing» SIAM Review 59 (1): 65–98.  doi:10.1137/141000671. ISSN 0036-1445. (Noiz kontsultatua: 2023-12-05).
  3. al., Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et. The Julia Language. julialang.org.
  4. (Ingelesez) «Why is Julia faster than C++ for quicksort?» Julia Programming Language 2023-08-10 (Noiz kontsultatua: 2024-11-01).
  5. JuliaLang/Microbenchmarks. The Julia Programming Language 2024-10-07 (Noiz kontsultatua: 2024-11-01).

Ikus, gainera

[aldatu | aldatu iturburu kodea]

Kanpo estekak

[aldatu | aldatu iturburu kodea]