Julia is a high-level, high-performance, open source, flexible, dynamic programming language for technical computing. It is multi-paradigm, combining features of imperative, functional, and object-oriented programming. Julia’s hash syntax is familiar to users of other technical computing environments especially MATLAB.
Julia offers a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing.
Additionally, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager. Julia programs are organized around defining functions, and overloading them for different combinations of argument types (which can also be user-defined).
Features include:
- Components:
- Syntax layer.
- Symbolic language and corresponding data structures for representing certain kinds of types.
- Implementation of generic functions and dynamic multiple dispatch.
- Compiler intrinsic functions for accessing the object model.
- Compiler intrinsic functions for native arithmetic, bit string operations, and calling native (C or Fortran) functions.
- mechanism for binding top-level names.
- High-level, Python-like syntax.
- Dynamic types (with type hinting).
- Expressive – a rich language of types for constructing and describing objects.
- Fast – approaches the speed of statically-compiled languages like C.
- Optional typing.
- User-defined types are as fast and compact as built-ins.
- Define function behavior across many combinations of argument types via multiple dispatch.
- Lightweight “green” threading (coroutines).
- Efficient support for Unicode, including but not limited to UTF-8.
- Call C functions directly (no wrappers or special APIs needed).
- Powerful shell-like capabilities for managing other processes.
- Lisp-like macros and other metaprogramming facilities.
- Good range of libraries for common scientific and engineering computing tasks.
Website: julialang.org
Support: Documentation
Developer: Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
License: MIT License
Return to New Programming Languages
| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.