Julia![](//upload.wikimedia.org/wikipedia/commons/thumb/6/69/Julia_prog_language.svg/langca-150px-Julia_prog_language.svg.png) |
![](//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Juliacap.jpg/300px-Juliacap.jpg) |
Tipus | llenguatge de programació orientat a objectes, llenguatge de programació funcional, array programming language (en) , llenguatge de programació multiparadigma, llenguatge de programació imperatiu i llenguatge interpretat ![Modifica el valor a Wikidata](//upload.wikimedia.org/wikipedia/commons/thumb/6/63/Arbcom_ru_editing.svg/10px-Arbcom_ru_editing.svg.png) |
---|
Data de creació | 2012 |
---|
Disseny | Viral B. Shah (CEO de Julia Computing), Jeff Bezanson, Stefan Karpinski, Alan Edelman |
---|
Desenvolupador | Viral B. Shah (CEO of Julia Computing), Jeff Bezanson, Stefan Karpinski, i altres col·laboradors |
---|
Paradigma de programació | Multi-paradigm: multiple dispatch ("object-oriented"), procedural, functional, meta, multistaged |
---|
Darrera versió estable | 0.5.2 / 0.4.7 / 6 Maig 2017; fa 10 dies |
---|
Tipus de dades | Forta, dinàmica |
---|
Majors implementacions | Julia, C, C++ (mostly LLVM dependency), Scheme (the parser; usant FemtoLisp implementation); standard library: Julia (major part), C (amb poques dependències), Fortran (BLAS amb assembly) |
---|
Influenciat per | C Fortran Lisp Lua Mathematica (Wolfram Language) MATLAB Perl Python R Ruby Scheme |
---|
Sistema operatiu | Multiplataforma |
---|
Extensió dels fitxers | jl ![Modifica el valor a Wikidata](//upload.wikimedia.org/wikipedia/commons/thumb/6/63/Arbcom_ru_editing.svg/10px-Arbcom_ru_editing.svg.png) |
---|
Llicència | MIT (core), GPL v2; omet les biblioteques GPL |
---|
Etiqueta d'Stack Exchange | Etiqueta ![Modifica el valor a Wikidata](//upload.wikimedia.org/wikipedia/commons/thumb/6/63/Arbcom_ru_editing.svg/10px-Arbcom_ru_editing.svg.png) |
---|
Pàgina web | [1] |
---|
Julia, en ciència de la computació, és un llenguatge de programació dinàmic d'alt nivell adreçat a l'anàlisi numèrica però també es pot considerar com un llenguatge de propòsit general. Julia implementa un compilador sofisticat, execució en paral·lel, precisió numèrica i una biblioteca de funcions matemàtiques extensa (àlgebra lineal, generació de nombres aleatoris, processament de senyal i de cadenes de caràcters).[1][2][3]
Característiques del llenguatge
Les principals característiques són : [4]
- Funcionalitat de dispatch múltiple: habilitat de definir el comportament de les funcions mitjançant combinació d'arguments.
- Tipus de dades dinàmics.
- Manegador de paquets.
- Funcions tipus C i Python.
- Computació distribuïda i paral·lela.
- Llicència MIT: lliure i codi obert.
Comparativa amb altres llenguatges
El següent benchmark s'ha obtingut en un microprocessador d'un sol nucli Intel(R) Xeon(R) CPU E7-8850 2.00GHz CPU amb 1TB of 1067MHz DDR3 RAM, corrent sobre Linux : [5]
|
Fortran
|
Julia
|
Python
|
R
|
Matlab
|
Octave
|
Mathe-matica
|
JavaScript
|
Go
|
LuaJIT
|
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
|
Resultats relatius a codi compilat en llenguatge C (factor=1). Com més baixa és la xifra, millor és la velocitat.
Vegeu també
Referències