Julia (programming language)

Julia is a high-level, general-purpose dynamic programming language, most commonly used for numerical analysis and computational science. Distinctive aspects of Julia's design include a type system with parametric polymorphism and the use of multiple dispatch as a core programming paradigm, efficient garbage collection, and a just-in-time (JIT) compiler (with support for ahead-of-time compilation).

Julia
ParadigmMulti-paradigm: multiple dispatch (primary paradigm), object-oriented, functional, array, procedural (imperative), structured, reflective, meta, multistaged
Designed byJeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah
DeveloperJeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
First appeared2012 (2012)
Stable release
1.10.1  / 14 February 2024 (14 February 2024) and
1.6.7 LTS / 19 July 2022 (2022-07-19)
Preview release
1.11.0-DEV with daily updates
Typing disciplineDynamic, inferred, optional, nominative, parametric, strong
Implementation languageJulia, C, C++, LLVM, Scheme (parser)
PlatformTier 1: x86-64, IA-32, Apple silicon 64-bit Arm Macs; CUDA 10.1 to 12/Nvidia GPUs (for Linux and Windows)
Tier 2: FreeBSD, 64-bit Arm on Linux
Tier 3: 32-bit Arm, PowerPC, AMD (ROCm) GPUs and oneAPI/Intel's GPUs.
OSLinux, macOS, Windows and FreeBSD
LicenseMIT
Filename extensions.jl
WebsiteJuliaLang.org

Julia can be run similar to (interpreted) scripting languages (i.e. Julia has a REPL), and does by default using its runtime (when preinstalled), but Julia programs/source code can also optionally be sent to users in one ready-to-install/run file, which can be made quickly, not needing anything preinstalled. Julia programs can also be (separately) compiled to binary executables, even allowing no-source-code distribution. Such compilation is not needed for speed, since Julia is also compiled when running interactively, but it can help with hiding source code. Features of the language can be separately compiled, so Julia can be used, for example, with its runtime or without it (which allows for smaller executables and libraries but is limited in capabilities). Julia can be called from other languages, e.g. Python and R, and several Julia packages have been made easily available from those languages, in the form of libraries for them.

Julia's Visual Studio Code extension provides a fully-featured integrated development environment with support for debugging, linting, and profiling.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.