The state of Julia - a fast language for technical computing
Viral B. Shah
Last year at the Fifth Elephant, I gave a talk introducing the Julia programming language (http://www.julialang.org/). This year, I propose to give a short talk on the current state of Julia.
I will give a talk introducing Julia for those who have not heard about it. I will talk about progress of the language since the last year, and some glimpses into where we are headed. I will also discuss the growth of the Julia community.
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. It provides 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. In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager at a rapid pace. IJulia, a collaboration between the IPython and Julia communities, provides a powerful browser-based graphical notebook interface to Julia.
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. For a more in-depth discussion of the rationale and advantages of Julia over other systems, see the following highlights or read the introduction in the online manual.
I am one of the co-creators of the Julia programming language.