DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 966,155 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Cover image for When Should I Use Julia?
Peter Jachim
Peter Jachim

Posted on

When Should I Use Julia?

I have been programming in Python for a few years now, mostly on data science projects by myself, but am curious about Julia.

Beyond speed, what is the use case for Julia that would make it better for a machine learning application than Python? If speed isn't a huge factor, what application for Julia that would make it worth it to use Julia rather than Python? What project could I do easily in Julia that's more complicated or less natural than python?

There are some existing articles on technical features of using Julia, like Five (More) Reasons to Check Out Julia, but that doesn't help in the context of understanding what projects would make me want to use it vs. Python. There are also many articles about peoples' experience learning Julia, like My First Impression of Julia, Teaching myself Julia, My Julia VM and what I learned, Julia, surprise me! (some astonishments while learning a new programming language), Top 5 Courses to learn Julia Programming Langauge for Beginners, but those are generally more people talking about their experiences in learning Julia.

Top comments (5)

Collapse
 
peter_jachim profile image
Peter Jachim Author • Edited on

Update

I'm impatient and posted a similar question on Twitter, and got a few different responses, along with some cool use cases:

Use Cases:

  • It seems like in addition to speed gains, it's commonly used for probabilistic modelling, with lots of serious work in that area, and multiple libraries in support of that functionality, see here.
  • There were a couple use cases, for example in land-surface models, where there's a lot of data, requiring speed and the ability to process that much information, they need to be able to build ML models, and use intuitive statistical tools for analysis at the end, so Julia is able to handle each aspect of their work see here.
  • There is a lot of support for differential equations, see here.

Other Cool Things I Learned:

  • While Julia doesn't have as many established resources, there are great and friendly communities to support it, see here.
  • People are able to use it very efficiently and code is very recyclable from one project to another, allowing for faster development. This is something that was brought up multiple different ways by different people, see here.
  • Anything that's not available in Julia but is in python can still be leveraged using PyCall, see here.

Side-Note:

For more information, JuliaCon is free this year, and you can register here. Previous years are also available (2019, and (2018)

Collapse
 
jemaloqiu profile image
jemaloQiu • Edited on

With more and more Julia developers and researchers joining in this community, Julia may hold a dominating position in the future just as Python has today. It's a new language, also a promising language.

Collapse
 
wass08 profile image
Wassim SAMAD

I don't know a lot about Julia language, but your title out of context is very funny haha.

Collapse
 
diversable profile image
Daniel Mantei

I fail to find the humour in 'using' Julia - either the programming language or the brilliant french mathematician who lost his nose fighting in WWI.

Unless I'm stupidly missing something here, you're just kinda displaying your ignorance for the entire world to see (and to pull up in 2 or 20 years when someone wants to fire you from some job - that is if your intention with this comment was a sexist misunderstanding of the term 'Julia').
So, great work buddy πŸ‘

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited on

In my university course, they use exclusively #rstats.

Update Your DEV Experience Level:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. πŸ›