Description
PyData Berlin 2016
Julia is a performance oriented language written from the ground-up to support numerical processing and parallelisation. The basic syntax of Julia resembles a cross between Matlab and Python, but offers performance which is comparable to compiled C-code. I will present an overview of the language with particular emphasis on where Python users may benefit in using it in their daily work.
Python users have long benefitted from the less verbose nature of Python, when compared with C and Fortran. However, Python was originally designed for scripting tasks, using dynamic types and widescale object orientation, neither of which features are necessarily beneficial when it comes to numerical computing. Thus, we have seen the widespread use of Python libraries for numerical computation (scipy, numpy, etc.).
Julia is a new language, developed at MIT, which attempts to learn from the experience of development of Python and similar languages. The main goals are to provide a non-verbose, performance oriented language written from the ground-up to support numerical processing and parallelisation. In its most basic syntax Julia resembles a cross between Matlab and Python, but via compilation through an intermediate level representation (llvm) it offers performance which is comparable to compiled C-code.
I am not going to argue that Julia is ready for primetime yet. However, it is definitely worth consideration by anyone currently resorting to cython or needing distributed access to large datasets.
I will present an outline/introduction to the language, including the main benefits and current weaknesses. Of particular interest to the audience may be the fact that Python libraries are importable and callable from within Julia, allowing a continuity of existing workflow but from a Julia-based host environment. My main focus will be for a numerically literate audience who are already contending with the technical limitations of Python and are curious about the new language in town.