|
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.