2012: “In short, because we are greedy.”
2022: “Julia is now used by hundreds of thousands of people.”
Sign up for your weekly dose of what's up in emerging technology.
Recapping an awesome decade of Julia.
When Julia was launched in 2012, computer engineers were already leveraging great languages like Matlab, Python, Perl, Mathematica and Ruby. But Jeff Bezanson, Stefan Karpinski, Viral B. Shah and Alan Edelman aimed to fill a market gap, an all-rounder open source programming language. The motivation for developing Julia was to have an open-source language on a liberal licence. Julia marries the most desirable characters of popular languages like python (general programming), R (statistical analysis), C (speed), Ruby (dynamism), Perl (string processing), Matlab (linear algebra), and Shell (glueing programs together).
In a 2014 Ars Technica blog, Physicist Lee Phillips asserted, “There is a reasonable chance that the language of choice for scientific computing in another decade will be called “Julia.” His updated 2020 post reveals, “It actually only took Julia about half that time.”
2009: Before Julia’s launch in 2012, one of the first mentions of Julia was in a 2009 mail from Viral Shah to co-founders Jeff Bezanson and Stefan Karpinski.
2012: While the team started working on the language in 2009, it was launched on 14 February 2012. Julia was introduced through a blog post listing the team’s idea behind the language and the mission they wished to achieve. The initial version of Julia featured optional typing, multiple dispatches, and good performance through type inference and just-in-time (JIT) compilation, implemented using LLVM.
2014: The first annual Julia Conference was hosted in Chicago. Since, JuliaCon has been attended by close to 30,000 attendees and featured speakers such as Soumith Chintala, Katherine A. Yelick and Linda Petzold.
2015: The Julia Computing Company was founded by the team and Keno Fischer and Deepak Vinchhi to develop products that bring Julia’s superpowers to its customers. Their flagship product, JuliaHub, is a secure, software-as-a-service platform for developing Julia programs, deploying them, and scaling to thousands of nodes. In June 2017, they raised US$4.6 million in seed funding from General Catalyst and Founder Collective, followed by $1.1 million funding from the US government in 2019 and $24 million Series A led by Dorilton Ventures in 2021.
Following 2012, the team has updated Julia with new versions fourteen times, adding in the latest changes and additions. The first release post-2012 was v0.3 in 2014, followed by v0.6 in 2017 and v0.7 in 2018. V0.7 provided an upgrade path for packages and code to precede version 1.0.
2018: Version 1.0 of Julia was released with the team asserting the language is “fully baked”. The version introduced API stability, a built-in package manager, canonical representation for missing values and a built-in String type to hold arbitrary data, among other things, safely. This release was significant, asserting the language is no longer at a ‘developer’s stage’ and is now an ‘expert’.
Between 2019- 2020, v1.1, v1.2, v1.3 and v1.4 were released, with bug fixes and additions such as exception stack, built-in support for web browsers, composable multi-threaded parallelism and a binary artefacts system for Julia packages.
Julia v1.5 in 2020 was a big release with several features and improvements. The blog post asserted that this release brings one of the major and long-desired optimisations to reduce heap allocations in some workloads significantly. Additionally, the features include record and replay debugging support for Mozilla’s RR tool, struct layout and allocation optimisations, multithreading API stabilisation and improvements, latency improvements, along with algorithmic improvements for some popular cases such as generating normally-distributed double-precision floats.
Julia 1.6 in 2021 improved this performance with parallel precompilation and faster loading of packages, and v1.7 introduced a faster random-number generator and used a much smaller state of the Xoshiro256 family of RNGs to put a state in every task and fork it on each task creation. This makes random numbers depend only on the task spawning structure and not on the parallel execution schedule.
Julia 1.8 is set to be released in February 2022, just a few days after the team hits a decade of existence.
An amazing range of use-cases
“When we introduced Julia to the world on Valentine’s Day 10 years ago, we couldn’t have predicted the amazing things that are being accomplished today using Julia. To me, the most important achievements aren’t the 35 million Julia downloads or the 6,800 registered Julia packages or the 251 thousand GitHub stars or being one of the top 10 languages developed on GitHub or breaking the petaflop barrier,” Dr Viral Shah, co-creator of Julia, co-founder and CEO of Julia Computing, told Analytics India Magazine.
“When I read this week’s retrospective, Why We Use Julia, 10 Years Later, the two most important themes for me are: the openness, warmth, helpfulness and welcoming nature of the Julia community; and the myriad applications to which Julia has been applied for social good – including helping pharmaceutical researchers develop new potentially life-saving treatments, modelling the COVID pandemic, planning space missions, making air travel safer, predicting animal, plant and gene migration due to climate change, guiding drones to deliver life-saving medical supplies, giving surgeons x-ray vision, making electricity safer and more reliable, reducing traffic and automobile emissions while helping teenagers get more sleep, improving medical diagnosis and modelling cancer. These features are not a coincidence, and they are not something that just happened: the Julia community works hard every day to be inclusive and welcoming, and that is why so many people are choosing Julia and using Julia to power solutions that make the world better. I am confident that during the next ten years, the Julia community will continue to grow ever stronger, ever more diverse and ever more inclusive, and that Julia will be used to power even more innovations that improve our world,” he said.
As of 2020, Julia had more than 10,000 companies, 1,500 universities, and 35 million+ downloads with over 11.8 million lines of code. In just a year, Julia’s downloads jumped by 87 percent between 2019 and 2020. Since 2014, Julia has been used for countless use-cases and applications. For example, the Federal Reserve Bank of New York leverages Julia to model the US economy, citing the language’s ten times faster computing speed (than MATLAB) as their main reason. They also used it to estimate COVID-19 induced economic shocks in 2021. In 2019, Julia was the sole implementation language for a multi-million dollar, next-generation global climate model created by the Climate Modelling Alliance. The Federal Aviation Administration uses Julia to develop the Next-Generation Airborne Collision Avoidance System. It has been used in the Celeste project to achieve a peak performance of 1.54 petaflops on the Cori II supercomputer. Aviva and BlackRock use Julia to calculate risks and execute the time-series analysis.
Julia is also a standard language used by NASA for modelling spacecraft separation dynamics. Brazil’s INPE also uses it to plan space missions and satellite stimulations. Big companies using Julia include NVIDIA, AstraZeneca, Google, Intel, Microsoft, Amazon, Apple, Disney, Facebook, Ford, Grindr, IBM, Microsoft, Oracle and Uber, Moderna and Pfizer.
Jeff, Stefan and Viral received the James H. Wilkinson Prize for Numerical Software in 2019. Awarded every four years, the Wilkinson Prize recognises innovating softwares in computing and encourages researchers in the early stages of their careers.