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, providing a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
Julia programs are organized around multiple dispatch, by defining functions and overloading them for different combinations of argument types, which can also be user-defined.
An active Julia community is contributing a number of external packages via Julia's built-in package manager. In addition the collaboration between the Jupyter and Julia developers has provided a powerful browser-based graphical notebook interface to Julia.
The London Julia Users Group (LJuUG) was formed in December 2013, in order to promote the use of the Julia programming language in the UK. We usually hold four meetings annually and details can be found on our Meetup page.
If you wish to speak at one of our meetups please get in contact via the form provided below. Otherwise just join the group and come along to meet other Julia enthusiasts at our next get-together.
We are grateful to Skills Matter for providing the facilities to hold the group's meetups.
Julia was introduced in February 2012 after 2 years work at Massachusetts Institute of Technology.
Because Julia creates compiled code, execution times are of the same order of magnitude as that using languages such as C/C++, Fortran and Java. This is not the only, or even the main reason, for using Julia. Because Julia is almost entirely written in Julia it provides the programmer with enormous power in coding in his/her own comfort zone without having to resort to a second compiled language and all that entails (package APIs, vectorisation etc.)
However it may be informative to see what 'fast' really means ...
As can be seen Julia is similar to the performance of C/C++ and Java while taking considerable less coding. For interpreted languages such as Python and Ruby we are talking of the order of 1 or even 2 orders of magnitudes quicker. Other languages such as R, Matlab and Octave perform similarly or even worse in comparison to Julia.
This makes Julia of special interest in 'loopy' cases requiring long runtimes which are difficult to vectorise and/or no appropriate module or package exists; typically those occuring in stochastic simulations, MCMC problems and machine (deep) learning.