Julia programming language: Users reveal what they love and hate the most about it

Julia's creators detail the challenges of developing a new programming language.

Python's rise asks questions of JavaScript's dominance Rise in queries driven by interest in Python and community of new programmers.

The MIT-created programming language Julia has grown in popularity in recent years but still remains well behind the likes of Java, C, and Python.   

Julia's makers only unveiled release 1.0 last August with the promise it would "change the technical world by combining the high-level productivity and ease of use of Python and R with the lightning-fast speed of C++". 

Julia outlines differences and similarities to other programming languages used for data analysis and statistical computing in its manual. It also counts some major users in finance, tech, and government. 

SEE: Six in-demand programming languages: Getting started (free PDF)

According to the Tiobe August 2019 programming-language index, Julia is the 39th highest ranked language in its search engine based results, up from 50th a year ago, but in the same position it occupied last October. 

Members from the company Julia Computing recently conducted a survey of over 1,800 Julia users to find out what they like and don't like about the language. Fortunately for Julia, 93 percent of respondents like it overall.  

"It would not be fun if that was not the case," said Viral Shah, co-founded and CEO of Julia Computing, who presented the survey at the recent JuliaCon 2019.

The second most popular language among Julia users is Python, cited by 61% of respondents. Languages that between 20% to 30% of respondents report liking included C, R, Matlab, C++, and Bash. 

The most popular technical feature of Julia is speed and performance followed by ease of use, while the most popular non-technical feature is that users don't have to pay to use it. 

Users also report their biggest gripes with the language. The top one is that packages for add-on features aren't sufficiently mature or well maintained to meet their needs. 

Other top problems are that it takes too long to generate the first plot, and that it can't be used to create self-contained binaries or libraries. 

Questions about problems on the non-technical side highlight the difficulties of getting a relatively new language off the ground versus more established languages like Python. 

The top complaint here is that colleagues use other languages and that there are not enough Julia users in their industry or field. Users also cite a lack of teaching and learning resources online. 

However, that could change over time thanks to initiatives like one at Mozilla, which is funding a Firefox plugin to bring Julia to browsers as it did for Python with the Pyodide plugin.   

Julia Computing also asked users what languages they'd use if it weren't for Julia and the top alternative, not surprisingly, is Python, which would be used by 73 percent of respondents. Other top alternatives include C-languages, Matlab, and R. 

Last year, Julia reported that the number of packages for add-on functionality had grown from 1,688 to 2,462 over the preceding year, suggesting decent growth from the Julia developer community. 

However, 55% of respondents to the survey say Julia's package environment is only "somewhat" robust, while just 14% say it is "very" robust.  

Most respondents reported being academics, 60%, while the remaining "professionals" were mostly engineers, developers, researchers and analysts. 

The top 10 fields users reported coming from were statistics/data science, engineering, machine learning, computer science, physics, mathematics, artificial intelligence, signal and image processing, optimization, and economics.

juliatechhates.jpg

The biggest technical problem with Julia is that packages for add-on features aren't sufficiently mature or well maintained to meet users' needs. 

Image: Julia Computing
julianontechhates.jpg

On the non-technical side, the top complaint is colleagues use other languages and that there are not enough Julia users in their field. 

Image: Julia Computing

More on programming languages and Julia