Lang.NEXT 2012

Julia

Download this episode

Download Video

Description

Julia is a dynamic language in the tradition of Lisp, Perl, Python and Ruby. It aims to advance  expressiveness and convenience for scientific and technical computing beyond that of environments like Matlab and NumPy, while simultaneously closing the performance gap with compiled languages like C, C++, Fortran and Java.

Most high-performance dynamic language implementations have taken an existing interpreted language and worked to accelerate its execution. In creating Julia, we have reconsidered the basic language design, taking into account the capabilities of modern JIT compilers and the specific needs of technical computing. Our design includes:

  1. Multiple dispatch as the core language paradigm.
  2. Exposing a sophisticated type system including parametric dependent types.
  3. Dynamic type inference to generate fast code from programs with no declarations.
  4. Aggressive specialization of generated code for types encountered at run-time.

Julia feels light and natural for data exploration and algorithm prototyping, but has performance that lets you deploy your prototypes.

Download:

Slides

Tag:

Julia

Day:

2

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • dcuccia

      Excellent! Will we get some Julia-on-Windows-demo love?

    • Stefan Karpinski

      We've got an experimental Win32 port of Julia, so, yes, it's entirely possible :-). A million thanks to Keno Fischer for putting in all the hard work to port Julia to Win32. His work has been amazing — the port wouldn't have happened without it.

    • Viral Shah

      The first Windows build is available here:

      https://github.com/downloads/JuliaLang/julia/julia-package.zip

    • Bulg

      Here is my IMHO (only IMHO:)
      you did one design error - repeat this kind of error as Python: all functions like eye(), ones(), zeros() and many-many other (from Matlab) should be available only from import module (in isolated namespace/module). There were many builtins functions in Python like thees, and after all GvR removed them into its' own modules (except very general of them).
      Language is very interesting, but one question: is Julia only for mathematic or for any, common tasks (GUI, database, Web, sockets, etc.) - what are the plans for Julia?

    • dcuccia

      All right! Thanks Stefan and Viral!

    • dcuccia

      (and most importantly Keno!)

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.