Julia, a tool for finance and science
“Why create a new programming language when there is already plenty of them?” you may wonder. As for Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and Alan Edelman, who created Julia, the reason was simple: they “wanted more” [1]. These four “greedy” [1] men started working on their project in 2009, and the first version of Julia was released in 2012. Its main objective is to be both high-level and fast. It is designed for scientific and numerical computation (though it can also be used for general-purpose programming), and it is open-source.
Julia in two words: high-level and fast.
Typically, for statistical analysis, you would estimate models in an easy-to-use language and rewrite them in a faster language. Julia aims at solving this “two-language problem” [2] by offering at the same time the ease of use and familiar syntax of Python, R or Matlab, and the speed of C.
Thanks to its features, Julia has attracted high-profile clients, especially in finance and economics. For example, BestX Ltd., a trading software vendor that provides real-time analytics with high volumes of tick data, chose to use Julia to build its platform [2]. BlackRock, which is the world’s largest asset manager, uses it for time series data analytics and big data applications [5]. The Federal Reserve Bank of New York also used Julia in 2015 for its estimated model of the US economy. They stated: “We tested our code and found that the model estimation is about ten times faster with Julia than before [with Matlab], a very large improvement” [4].
Besides, Julia has demonstrated its high performance through the Celeste project. This research collaboration of astrophysicists, statisticians and computer scientists aimed to catalogue all the telescope data for the visible universe [6]. The NERSC (National Energy Research Scientific Computing Center) Cori supercomputer, combined with a Julia application, allowed to load and analyse the 178 terabytes of data in only 15 minutes [8]. This makes Julia one of the very few high-level languages (with C, C++ and Fortran) in which such high-throughput computations have been written [11].
Is Julia the ultimate scientific programming language?
With its tempting promises and such given proofs of its reliance, Julia generates interest. As of January 2018, it had been downloaded 1,800,000 times [12]. “Julia users, partners and employers hiring Julia programmers in 2017 include Amazon, Apple, BlackRock, Capital One, Comcast, Disney, Facebook, Ford, Google, Grindr, IBM, Intel, KPMG, Microsoft, NASA, Oracle, PwC, Raytheon and Uber”, according to Julia Computing, Inc [7].
Julia has even had its first pop culture appearance. In one episode of the TV science fiction drama The 100, we can catch sight of the code of the most important artificial intelligence program in the world [3]. Guess in which language it is coded.
Whether or not Julia will be used for A.I. in 2150, we cannot tell right now, but it sure has a long way to go. Python, R or Matlab are almost thirty years old, and they each have a huge community of programmers and developers. With that comes a tremendous amount of packages or libraries, and new ones are published every day. This gives them robustness and efficiency for specific applications that Julia may not support natively. Moreover, thanks to their constant evolution, they “could potentially improve [their] performance, and then leave Julia in the dust”, says Keith Lubell [2], CTO at investment bank Berkery Noyes. Julia is a young language, and despite its growing popularity, its user base is still small in comparison. However, the release of version 1.0, which is yet to come, may help it grow. There remains much to be done, but Julia is finding its niche among finance and science programming languages.
Sources:
[1] https://julialang.org/blog/2012/02/why-we-created-julia
[3] https://juliacomputing.com/press/2017/09/19/julia-the-ai-language-for-next-150-years.html
[4] https://juliacomputing.com/case-studies/ny-fed.html
[5] https://juliacomputing.com/case-studies/blackrock.html
[6] https://juliacomputing.com/case-studies/celeste.html
[7] https://juliacomputing.com/press/2017/06/19/seed-funding.html
[8] https://www.nextplatform.com/2017/11/28/julia-language-delivers-petascale-hpc-performance/
[11] https://en.wikipedia.org/wiki/Julia_(programming_language)
[12] https://juliacomputing.com/blog/2018/01/04/january-newsletter.html