Julia: The programming language of the future?
Is Julia “the language of the future”? The TIOBE Index has seen a recent upswing in its popularity, as it slowly climbs up the charts from 50th place to the 35th most popular programming language. At JuliaCon 2019, the results from the user survey were revealed. To celebrate, let’s take a quick dip into the language use cases and how it stacks up.
The TIOBE Index for August 2019 sees a slight rise in Julialang’s popularity and usage. This month, it comes in 35th place, which may not sound impressive to top dogs like Java or Python. However, the language has climbed up the charts, up from 50th place. Currently, it even places ahead of Kotlin, which is not only a fan favorite for Android development but an official first-class dev language.
Recently, Julialang also celebrated the addition of composable multi-threaded parallelism, taking a page out of the Golang’s book. This new feature was introduced at JuliaCon in Baltimore, Maryland. Results from the first annual user survey were also revealed at the conference.
Let’s take a look at where the language stands, what features its users love, and see why it is rising up the charts.
Quick recap: what sets Julia apart?
Julialang is a high-performance, dynamically-typed, open source language that shines in scientific computing. The robust community has groups for using the language in computational biology, statistics, machine learning, image processing, differential equations, and physics, just to name a few. It draws some familiar usage comparisons to Python, C, C++, and MATLAB.
Julia allows researchers to write high-level code in an intuitive syntax and produce code with the speed of production programming languages. It has been widely adopted by the scientific computing community for application areas that include astronomy, economics, deep learning, energy optimization, and medicine. In particular, the Federal Aviation Administration has chosen Julia as the language for the next generation airborne collision avoidance system.
According to the 2019 survey, 73% of users and developers use Julia for research. The most popular fields are statistics, engineering, machine learning, and computer science.
From the documentation, it differs from other dynamic languages in a variety of ways:
- The core language imposes very little; Julia Base and the standard library is written in Julia itself, including primitive operations like integer arithmetic
- A rich language of types for constructing and describing objects, that can also optionally be used to make type declarations
- The ability to define function behavior across many combinations of argument types via multiple dispatch
- Automatic generation of efficient, specialized code for different argument types
- Good performance, approaching that of statically-compiled languages like C
Time to take a dip into the community’s opinions. Some noteworthy findings from the Julia User & Developer Survey 2019:
Favorite language features
These ranked as the five best technical aspects of the language.
- Speed, performance
- Ease of use
- Open source
- Multiple dispatch
- Solves the two language problem
Reasons for trying it out
Why did developers initially pick up the language?
- Julia seems like the language of the future
- Faster for the work I am doing
- I like learning new languages
- I heard about Julia from friends or colleagues and wanted to try it out
- Preferable syntax to other languages
If you’re new to the language, check out some of the most commonly used packages, editors, and cloud solutions.
- Packages: Plots.jl, DataFrames.jl, IJulia.jl, Distributions.jl, DifferentialEquations.jl
- Code editors and IDEs: Atom, VS Code, Juno
- Cloud solutions: JuliaBox, AWS, Google Cloud
Refer to the .pdf for information about the survey methodology and more results, including demographic information.
Give it a try!
Is Julia, as the survey’s response says, “the language of the future”?
JuliaBox lets users run the language in their browser, so you can test it out before you download using the getting started tutorials.
Suggested reading for newcomers includes Julia: A Fresh Approach to Numerical Computing, by Jeff Bezanson, Alan Edelman, Stefan Karpinski and Viral B. Shah, published in the SIAM Review in 2017.
Have you used Julia? Let us know what you use the language for, how you like it, and how it compares to other similar programming languages.