![]() Official Julia logo
|
|
Paradigm | Multi-paradigm: multiple dispatch ("object-oriented"), procedural, functional, meta, multistaged |
---|---|
Designed by | Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman |
Developer | Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors |
First appeared | 2012 |
Stable release |
0.5.0 / 0.4.7 / 19 September 2016
|
Preview release |
0.6.0-dev / daily updates
|
Typing discipline | Dynamic, nominative, parametric |
Implementation language | Julia, C, C++ (mostly LLVM dependency), Scheme (the parser; using the FemtoLisp implementation); standard library: Julia (mostly), C (a few dependencies), Fortran (BLAS and with assembly) |
Platform | IA-32, x86-64 |
OS | Linux, macOS, FreeBSD, Windows |
License | MIT (core),GPL v2; a make-file option omits GPL libraries |
Filename extensions | .jl |
Website | julialang |
Influenced by | |
Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science while also being effective for general-purpose programming, web use or as a specification language.
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, uses eager evaluation and includes efficient libraries for floating-point calculations, linear algebra, random number generation, fast Fourier transforms and regular expression matching.