Tuesday 15 October 2013

Why Learn Julia?

About a year ago I came across a cool new computing language called Julia.  I liked the concepts but at the time Julia was so new that I decided to let it grow a little.

I've written a lot of C, some Python and a smattering of R so why would I want to learn a new language?  I liked Julia because I'm impressed by R's statistics capabilities, I enjoy the structure and flow of Python, I liked their interactivity and not having to wait for a compiler, but I wanted to be close to the speed of C.  Julia promised to grow to all these things.

A year later and I'm doing Roger Peng's R Mooc at Coursera.  With a little spare time I took another look at Julia and it had matured greatly.
  • IJulia provides the notebooks I'd come to love with IPython
  • Pyplot was there along with Pycall so all that Python functionality seems to be at my finger tips
  • Gadfly based on ggplot2 offers plotting based on The Grammar of Graphics something that had really impressed me with R
  • Tools like Julia Studio and julia-vim had been developed
  • and the language was filling out as was access to C, Fortran and R libraries
So over the last couple of weeks I rewrote R assignments with Julia and learned enough R and Julia to be a tiny little bit dangerous.

Julia's fun to write in, even more fun than Python, and it is fast, so I was hooked.



This week I'm commencing the a Computer Science course.  Over the 8 weeks of the course I plan to complete each assignment in both Python and Julia.  I'll post the Julia versions here, plus comparisons with Python and code as long as it won't give too much away to future students.   It's a broad overview of Computer Science so it'll be interesting to see if I can complete everything with Julia.

John

No comments:

Post a Comment