Julia (llenguatge de programació)

De Viquipèdia
Salta a la navegació Salta a la cerca
Infotaula de llenguatge de programacióJulia
Julia prog language.svg
Juliacap.jpg
Tipusllenguatge de programació, llenguatge de programació orientat a objectes, llenguatge de programació funcional, array programming language (en) Tradueix, llenguatge de programació multiparadigma, llenguatge de programació imperatiu i Llenguatge interpretat
Data de creació2012
DissenyViral B. Shah (CEO de Julia Computing), Jeff Bezanson, Stefan Karpinski, Alan Edelman
DesenvolupadorViral 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ó estable0.5.2 / 0.4.7 / 6 Maig 2017; fa 10 dies
Tipus de dadesForta, dinàmica
Majors implementacionsJulia, 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 perC Fortran Lisp Lua Mathematica (Wolfram Language) MATLAB Perl Python R Ruby Scheme
Sistema operatiuMultiplataforma
Extensió dels fitxersjl
LlicènciaMIT (core), GPL v2; omet les biblioteques GPL
Etiqueta d'Stack ExchangeEtiqueta
Pàgina web[1]
Modifica les dades a Wikidata

Julia, en ciència de la computació, és un llenguatge de programació dinàmic d'alt nivell adeç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][4]

Característiques del llenguatge[modifica]

Les principals característiques són : [5]

  • 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[modifica]

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

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). Quant més baixa és la xifra millor és la velocitat.

Vegeu també[modifica]

Referències[modifica]

  1. «Julia (programming language) - Quora» (en anglès). www.quora.com. [Consulta: 17 maig 2017].
  2. «Julia Scientific Programming | Coursera» (en anglès). www.coursera.org. [Consulta: 17 maig 2017].
  3. Economics, Quantitative. «Part 1: Programming in Julia» (en anglès). lectures.quantecon.org. [Consulta: 17 maig 2017].
  4. «A review of the Julia programming language» (en anglès). danluu.com. [Consulta: 17 maig 2017].
  5. «The Julia Lab» (en anglès). mit.edu. [Consulta: 17 maig 2017].
  6. al., Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et. «The Julia Language» (en anglès). julialang.org. [Consulta: 17 maig 2017].