Where does Julia provide the biggest benefits over other ML frameworks for research?

As Chris has said, it’s entirely possible that you have a workflow and needs for which Julia has little to offer you that differentiates itself from other languages.

In truth, Julia’s value proposition at this stage of it’s life is mostly centred around making developer’s lives easier and letting them focus on their specialties instead of reinventing a million kldudgy suboptimal wheels.

For people whose primary intent is to apply functions from packages to data in a manner intended by the package writers, the benefits of julia come down to

  • Julia has some state of the art libraries not available in other languages (look here for some discussion: What package[s] are state-of-the art OR attract you to Julia, and make you stay there (not easily replicateable in e.g. Python, R, MATLAB)?) and so if those libraries apply to your problem then perhaps julia is a good choice

  • Julia makes the transition from an end user who strings together package functions and applies them to data to someone who writes / contributes to the internals of non-trivial packages very smooth. Because julia is a very fast, productive language to write, most high performance heavy duty julia packages out there are written in pure julia (not the case for Python!) and that code is often surprisingly readable once you get used to it (same goes for most of julia itself). So people who use julia tend to ‘peek under the hood’ a lot more and end up gaining proficiency in more advanced techniques relatively fast.

I think a lot of people imagine that they’d be happy just using well defined package functions for everything right up until the moment they realize that they just started working on a problem for which no nice package exists anywhere. At that point, the user is going to have to roll up their sleeves. This is the sort of work that julia really excels at. Everything else is going to be rather contingent on what specific sub-field you work in.

9 Likes