While the number of Python users has exploded in recent years, it’s not the only language looking to establish itself in the growing field of data science.

A recent entrant is Julia, an MIT-created programming language with the ambition of combining the speed of C with the usability of Python, the dynamism of Ruby, the mathematical prowess of MatLab, and the statistical chops of R — with the creators going as far as to describe it as a language for developers “who want it all”.

Established only seven years ago, Julia is still a relatively niche language compared to incumbents like Python, but the newcomer has also found favor as a language for building machine-learning models and running supercomputer simulations.

For those curious about Julia, new light has been shed on its strengths and weaknesses by the 2019 Julia User & Developer Survey.

Interestingly, Python was named as the number one language that developers would be using if they weren’t using Julia, with Python also being the second-most-popular language after Julia among those surveyed.

SEE: Python is eating the world: How one developer’s side project became the hottest programming language on the planet (cover story PDF)

Users favorite technical aspect of Julia was overwhelmingly the speed at which code runs, followed by the language’s ease-of-use, and the open-source nature of the language.

Unsurprisingly, the biggest non-technical reason for using Julia was the fact it’s free, the language’s “talented” and active community, and how easy it is to create packages for Julia.

Survey respondents also highlighted the drawbacks of Julia, namely that packages aren’t mature or as well-maintained as they would like, that it takes too long to initially plot data, and that it’s not possible to generate self-contained binaries or libraries, such as .exe or .dll files.

Julia Computing, an organization set up by the language’s creators, is focused on addressing some of these complaints, and earlier this year announced the JuliaTeam service for making it easier to find and manage packages.

Speaking last year, one of Julia’s creators, professor Alan Edelman, also talked about ambitions for the language to improve native support for parallel processing on GPUs and custom machine-learning accelerators, such as Google’s Tensor Processing Units (TPUs), and earlier this year a “fully featured debugger” was released for the first time.

Most of the non-technical drawbacks of Julia revolved around how few people use the language, with the top disadvantage for survey respondents being the lack of colleagues using Julia, followed by not enough Julia users in their specific field, and the low number of Julia users in general.

The majority of developers either use Julia for research or in an individual capacity at work, suggesting its user base hasn’t grown to size where organizations are mandating its use, with most starting to use Julia in the past five years. Users typically reported using Julia in relation to “data science and statistics”, “engineering”, and “machine learning”.

Julia is also not the sole language developers use, with at least half of those surveyed saying they do just under 50% of their programming using Julia.

The breadth of Julia’s capabilities and ability to spread workloads across hundreds of thousands of processing cores have led to its use for everything from machine learning to large-scale supercomputer simulation.

MIT says Julia is the only high-level dynamic programming language in the “petaflop club,” having been used to simulate 188 million stars, galaxies, and other astronomical objects on Cori, then the world’s 10th-most powerful supercomputer.

That said, the language is still relatively obscure and immature compared to established data science languages like Python and R, with Julia not even getting a mention in this years’ Stack Overflow Developer Survey.

The 2019 Julia User & Developer Survey canvassed the views of 1,844 Julia users from over 90 countries.

If you want to know more about Julia, check out TechRepublic’s comprehensive guide to online resources for learning Julia.

Also see