Julia (programming language)

**Julia** is a high-performance programming language, which is also meant to be easy (was considered a contradictory goal before), originally made with technical computing or with science in mind (like MATLAB), but it's a fully general-purpose language similar to e.g. Python, can be used for e.g. web development to building artificial intelligence.

Julia is a high-level language, which means a programmer can focus on what to do, but does not require knowledge of computer hardware. Writing programs in Julia takes less time than in some other languages.

Some state-of-the-art software has already been written in Julia, because it's considered easier to do then in the other popular languages. Some of it can also be used from other languages like Python or R. Julia was designed to be unusually easy to work with other languages, i.e. to benefit from code already written in other languages, to "reuse" their code.

Julia drew inspiration from other programming languages like Python, MATLAB, R, Ruby, Perl, Mathematica, Lisp, and C.

Julia works on the Raspberry Pi computer, and is e.g. supported in Raspbian.

Julia is supported by notebooks like Pluto.jl, Jupyter, and since 2025 Google Colab supports Julia natively.

It is recommended to install Julia with juliaup (which installs and takes care of Julia version updates), it is recommended NOT to install Julia through Linux distro's package managers. Juliaup is available in the Microsoft Store under the name Julia, which installs both.

## Some technical details

Julia is a high-level, high-performance, dynamic programming language. While it is a general-purpose language and can be used to write any application, many of its features are well suited for numerical analysis and computational science.

Distinctive aspects of Julia's design include multiple dispatch as its core programming paradigm. Julia supports concurrent, (composable) parallel and distributed computing. Julia uses a just-in-time (JIT) compiler, as Julia compiles code to machine code before running it.

Julia is garbage-collected, and includes efficient libraries for floating-point calculations, linear algebra, random number generation, and regular expression matching.

Julia supports calling C (and also e.g. Fortran or Rust) without glue code, using the keyword `ccall`. But it's also possible to call e.g. C++, Python, Java, MATLAB and R with help of Julia libraries for that purpose, and it's also possible to use those languages to call Julia, to reuse Julia libraries (that some of are state-of-the-art, such as SciML, made for scientific machine learning, which includes e.g. that DifferentialEquations.jl package).

## Other websites

- See also: The web page of the company Julia Computing, while the language itself is open source.

## Infobox (programming language)

- **name**: Julia
- **logo**: Julia Programming Language Logo.svg
- **logo size**: 120px
- **paradigm**: multi-paradigm programming language, Multi-paradigm: :en:multiple dispatch, multiple dispatch (primary paradigm), procedural programming, procedural, functional programming, functional, metaprogramming, meta, multistaged programming, multistaged
- **designer**: :en:Jeff Bezanson, Jeff Bezanson, :en:Alan Edelman, Alan Edelman, :en:Stefan Karpinski, Stefan Karpinski, :en:Viral B. Shah, Viral B. Shah
- **developer**: :en:Jeff Bezanson, Jeff Bezanson, :en:Stefan Karpinski, Stefan Karpinski, :en:Viral B. Shah, Viral B. Shah, and other contributors
- **latest release date**: and 1.10.10 (:en:long-term support, LTS) /  and 1.11.8 /
- **latest preview version**: 1.13.0-alpha2
- **typing**: Dynamic programming language, Dynamic, strong and weak typing, strong, nominal type system, nominative, parametric polymorphism, parametric, optional typing, optional
- **programming language**: Julia, C (programming language), C, C++, :en:LLVM, LLVM; Scheme (programming language), Scheme
- **platform**: Tier 1: x86-64, IA-32, :en:Apple silicon, Apple silicon <small>(:en:AArch64, ARM64)</small> Macs; Nvidia GPUs/:en:CUDA, CUDA (on Linux)
 Tier 2: FreeBSD, Armv8, 64-bit Arm on Linux, Apple GPUs; Intel GPUs/:en:OneAPI (compute acceleration), OneAPI 6.2+ and Nvidia GPUs (on Windows)
 Tier 3: 32-bit ARM architecture family, Arm, 64-bit RISC-V, and AMD GPUs/ROCm 5.3+.
- **operating system**: Linux, macOS, Microsoft Windows, Windows and FreeBSD
- **license**: MIT License, MIT
- **file ext**: .jl