Julia (programming language)
From Wikipedia, the free encyclopedia
Jump to navigation
Jump to search
Julia
Official Julia logo
Paradigm
Multi-paradigm
:
multiple dispatch
("
object-
oriented
"),
procedural
,
functional
,
meta
,
multistaged
[
1]
Designed
by
Jeff Bezanson,
Alan Edelman
,
Stefan
Karpinski
,
Viral B. Shah
Developer
Jeff Bezanson,
Stefan Karpinski
,
Viral B. Shah
, and
other contributors
[2]
[3]
First appeared
2012; 6 years ago
[4]
Stable release
1.0.2
[5]
/ 8 November 2018; 34 days ago
Preview release
1.1.0-DEV / daily updates
Typing
discipline
Dynamic
,
nominative
,
parametric
,
optional
Implementation
language
Julia,
C
,
Scheme
(the parser; using
the
FemtoLisp
implementation),
assembly
and

dependencies (i.e.
LLVM
) in
C++
;
standard library
:
Julia (mostly), C (a few
dependencies),
Fortran
(for
BLAS
)
[6]
Platform
x86-64
,
IA-32
,
ARM
OS
Linux
,
macOS
,
Windows
and
FreeBSD
License
MIT
(core),
[2]
GPL v2
;
[6]
[7]
a
makefile
option omits
GPL libraries
[8]
Filename
extensions
.jl
Website
JuliaLang.org
Influenced by
C
[4]
Lisp
[4]
Lua
[9]
Mathematica
[4]
(strictly its
Wolfram Language
[4]
[10]
)
MATLAB
[4]
Perl
[9]
Python
[9]
R
[4]
Ruby
[9]
Scheme
[11]
Julia
is a
high-level
general-purpose
[12]
dynamic programming language
that was originally designed
to address the needs of high-performance
numerical analysis
and
computational science
, without
the typical need of
separate compilation
to be fast,
[13]
[14]
[15]
[16]
also usable for client and server web use,
[17]
[18]
low-level
systems programming
[19]
or as a
specification language
.
[20]
Distinctive aspects of Julia's design include a type system with
parametric polymorphism
and types
in a fully
dynamic programming language
and
multiple dispatch
as its core
programming paradigm
. It
allows
concurrent
,
parallel
and
distributed computing
, and
direct calling
of
C
and
Fortran
libraries
without
glue code
.
Julia is
garbage-collected
,
[21]
uses
eager evaluation
and includes efficient libraries for
floating-
point
calculations,
linear algebra
,
random number generation
, and
regular expression
matching.

Many libraries are available, and some of them (e.g. for
fast Fourier transforms
) were previously
bundled with Julia.
[22]
Contents
1
History
o
1.1
Notable uses
2
Language features
3
Interaction
o
3.1
Use with other languages
4
Implementation
o
4.1
Current and future platforms
o
4.2
Julia2C source-to-source compiler
5
Julia Computing company
6
See also
7
Notes
8
References
9
External links
History
[
edit
]
Work on Julia was started in 2009, by Jeff Bezanson,
Stefan Karpinski
,
Viral B. Shah
, and
Alan
Edelman
, who set out to create a free language that was both high-level and fast. On 14 February
2012 the team launched a website with a blog post explaining the language's mission.
[23]
Karpinski
said of the name "Julia": "There's no good reason, really. It just seemed like a pretty
name."
[24]
Bezanson said he chose the name on the recommendation of a friend.


You've reached the end of your free preview.
Want to read all 15 pages?
- Fall '12
- DuiWei
- Julia