Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments.
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments, such as Ruby, Python, R or Matlab. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, mostly written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, as well as highly proficient random number generation, FFTs, and string processing.
More libraries continue to be added over time. Programs written in Julia are organized around defining and overloading functions with different combinations of argument types. Part of what makes Julia so expressive is that argument types are user-defined.
The core of Julia is implemented in C and C++ and its parser in Scheme ("femtolisp"). For just-in-time generation of 64-bit or 32-bit optimized machine code the LLVM compiler framework is used depending on platform or user override.
The C API enables Julia with the capability of being called from C without needing to copy data.
Julia is based on LLVM and compares in speed with C and Fortran, while having syntax similar to MATLAB and R. Although it is still in its infancy, it is maturing quickly.
Resources for Julia: