Julia language , a new language introduced to the technical computing. It is a high level, high performance dynamic programming language. It has the syntax familiar to the user of the other technical computing language.

It has an extensive mathematical  functional library, it provides numerical accuracy, sophisticated amplifier and a distributive parallel execution.

The library is been written in Julia but has active C and FORTRAN libraries for linear algebra, random number generation and string  processing.

Julia programs are set up around defining functions and overloading them for different combination of user-defined arguments types.

JIT compiler with high performance

Julia’s Just-In-Time compiler combined with the language’s design allow it to improve the run time performance and often match upto the performance of C/C++.

To prove the point let us take the example of numerical and scientific computing. There are some set of micro benchmark have been given in variety of language. Here you can skim the code to know how easy or difficult the codes are.

The following benchmark results are from Macbook Pro with 2.534GHz Intel core 2 Duo CPU and 8GB of 1066MHz.

Julia beats other high level system, with a few exception of Matlab  and JavaScript.

Julia’s Low-Level-Virtual-Machine(LLVM) JIT code has somehow beaten C++ by 25% on pi summation . This benchmark, being precise, do analyse  the compiler performance on a range of common code pattern like string parsing, function calls, sorting and numerical loops, random numbers generation and array operation.

 Julia is strong in those area of  high level language that has been weak in past: scalar arithmetic loop(found in pi summation), Matlab’s JIT for floating point arithmetic and V8 JavaScript engine do very well here too. However JavaScript is unable to utilize its technical computing user defined codes that results in poor performance in benchmark like matrix multiplication, Julia has a more comprehensive approach to eliminate overhead that allows it to optimize all kinds of library codes.

The code written in Julia in matrix statistics , however been beaten by C++, is much more simpler the C++ implementation. However,the improvisation in the codes and the compilation would meet up the gap in future.

To see the difference let us see the examples of some codes written in Julia.

The julia language

The julia language

 Design for Parallelism and Cloud Computing

Julia provides a number of key building blocks for distributed computation making it more flexible to support several styles of parallelism.

At its very early stage Julia supports cloud computing mode. Here is the screenshot of based interactive Julia Session.

The julia language

The julia language

 

There will have the full support of cloud computing operations like sharing and editing, including data management, data exploration and visualization. This allow users to work big data type without getting worried about the administration of managing data.

Free, Open Source And Library Friendly

The core is been licensed under MIT license. Various Libraries used by Julia have their own license such as GPL  LGPL and BSD.

User can easily combine Julia with their C/FORTRAN codes as the core functionality in a shared library.

 

Source : julialang.org

You can read the complete manual here :  Julia manual