Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Quo Vadis, Julia?

Quo Vadis, Julia?

Short talk on the direction for the Julia programming language as of March 2016

Malcolm Sherrington

March 01, 2016
Tweet

More Decks by Malcolm Sherrington

Other Decks in Programming

Transcript

  1. A Bit of History and other stuff • Julia became

    open-source in 2012. • Originally seen as replacement to Matlab ®. • It uses LLVM to generate “genuine” machine code. • It has run time macros for creating boilerplate code. • It has an extensible, flexible type system. • Connectivity to shared libraries has zero-overhead. • Also it can call Python, R, Java etc. • Code is on Github (& documentation on Readthedocs). • I/O parallelism is novel and offers distinct advantages over Hadoop, Storm & Spark.
  2. The current state of play? • Julia has still not

    yet reached v1.0 … • … and is not likely to get there until well into 2017. • v0.4.3 is stable and v0.5 in development. • There are currently over 850(+) registered modules. • These are grouped in “communities” such as JuliaStats, JuliaOpt, JuliaDB, JuliaWeb … • Version segmentation (v0.3) and module caching (v0.4) have now been implemented. • Jupyter IDE is familiar to Python developers. • Visualisation (graphics) are not built-in. 3
  3. The shape of Julia to come • Julia Computing was

    formed mid-2015. • Julia is a NumFocus project. • v0.5 due 1st April, v0.6 in October. • Arrays, tuples, data frames and d-arrays are being rejigged (Arraymageddon). • New data types are being introduced. • Provision for custom cluster managers and shared memory access. • Better package management using libgit2. • A Julia debugger (Gallium.jl aka GDB). • ARM versions: Raspberry Pi2, Crouton, Scaleway. 4
  4. Tempus Fugit, Julia! • It is time to stop thinking

    of Julia as the new kid on the block. • It remains one of the most “democratic" open source programming projects. • Julia Computing has attracted considerable funding and is undertaking consultancy work and still includes all the three original developers (+ others). • Strategy seems to be still to increase ‘core’ functionality upto v1.0 rather than just depending on package support. • For academics and SME’s it offers some interesting alternatives, for Enterprise work it is more debatable. • Python and Julia fit well together. 5
  5. Dilbert : The Last Word 6 http://julialang.org https://github.com/JuliaLang/julia http://julialang.org/community http://juliastats.github.io

    http://julialang.org/soc/ideas-page https://en.wikibooks.org/wiki/Introducing_Julia http://juliacomputing.com