# 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.
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:
| | 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
### Kaixo mundua

Kaixo mundua adibidea:
edo besterik gabe beste hau

### Quicksort

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

## Erreferentziak

* ↑ Bezanpson, Jef. Julia: A Fast Dynamic Language for Technical Computing. .
* ↑ (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).
* ↑ al., Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et. The Julia Language. julialang.org.
* ↑ (Ingelesez) «Why is Julia faster than C++ for quicksort?» Julia Programming Language 2023-08-10 (Noiz kontsultatua: 2024-11-01).
* ↑ JuliaLang/Microbenchmarks. The Julia Programming Language 2024-10-07 (Noiz kontsultatua: 2024-11-01).
* 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-4ISBN 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-4ISBN 978-1-611977-26-4.
* doi:10.1007/978-3-030-73936-2. ISBN 978-3-030-73936-2..
* 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
* Datuak: Q2613697
* Multimedia: Julia (programming language) / Q2613697