There’s diversity in the world of programming languages, and often, the problem for mathematicians, researchers and data scientists is to find a single language that suits practically any task at hand.
To avoid the difficulties, co-founders of a Bengaluru and U.S.-based startup, Julia Computing, developed a general purpose programming language — Julia — that can be used by those who aren’t programmers by training.
“Julia is much faster and easier to use than other languages, with unlimited scalability,” says Stefan Karpinski, co-founder of Julia Computing.
In 2009, Karpinski, along with Viral Shah, Alan Edelman, Jeff Bezanson, created Julia, an open source project. As it sparked a huge response, the co-creators, along with Deepak Vinchhi and Keno Fischer, launched Julia Computing in 2015. Julia Computing provides paid support, training and consulting services to clients, though Julia itself remains free to use.
“Julia empowers data scientists, physicists, quantitative finance traders and robot designers to solve problems without having to become computer programmers or hire computer programmers to translate their functions into computer code,” claims Karpinski.
The best of both worlds
Typically, programming languages on numerical computing are split into two groups: static languages such as C, C++ and Fortran, which are fast for execution but slow for development, and dynamic languages such as Python, R and Matlab, which are often slow in their execution but enable rapid development.
Offering the best of both worlds, Karpinski claims it has solved the “two-language problem.”
“We were greedy for a language that is as fast as C++, with the high-level functionality of Python, R or Matlab. And so we created a single language — Julia – that allow us do prototyping and production in the same language,” says Karpinski.
Not surprisingly then, Julia’s adoption is growing rapidly. “User adoption has exceeded our forecasts,” says Karpinski. The startup has some of the world’s top companies in the bag, from investment manager BlackRock, which uses it for time-series analytics, to British insurer Aviva, which uses it for risk calculations.
“Amazon, Apple, Disney, Facebook, Ford, Google, Grindr, IBM, Microsoft, NASA, Oracle and Uber are other Julia users, partners and organizations hiring Julia programmers,” says Shah, CEO of Julia Computing. In June, the two-year-old startup raised $4.6 million seed funding from U.S.-based investment firms General Catalyst and Founder Collective. “Today, Julia has over 1 million downloads, with 161% annual growth,” adds Shah,
How it started
It all started in 2009, when Karpinski, with Shah, a fellow grad student at the University of California Santa Barbara, and Bezanson and Edelman from the MIT – all with experience in language design and applied mathematics – were looking to simplify the coding process. Since Shah moved to Bengaluru to work on India’s Aadhaar project, the country’s new biometric identification system, they created their “dream language” largely over email.
The first public version of Julia, made with the help from over a 100 open-source contributors, was released in 2012. “The open source project was started to democratize programming, but to meet market demand for commercial products, we founded Julia Computing,” says Shah.
Keeping up with demand for new product features and packages is the biggest challenge, says Shah. “It takes anywhere from a few months to a year to create a product, and each product is continually improved to leverage the newest developments and improvements in the Julia open source language and to provide additional features requested by our customers and users.”
Since the core Julia language is free and open source, Shah says, it has tremendous relevance for India. “It works for Indian startups and large organizations that are cost-conscious, and have access to a large population of engineers.”
“Julia is the best option for artificial intelligence, machine learning, deep learning and parallel computing – all fields with a strong presence and extraordinary growth in India,” adds Karpinski.
Julia is also used for research at NASA and Lawrence Berkeley National Laboratory, while MIT has a Julia lab dedicated to the research and development of the language. “Engineers at Lincoln Labs MIT working on the Federal Aviation Administration’s new NextGen collision avoidance system for aircraft are using Julia to compute 650 billion decision points within an optimized logic table in order to identify failures,” says Shah.
It was used for the Celeste project, a statistical analysis model designed for sky surveys, as well. “The team classified 188 million stars and galaxies in 14.6 minutes using Julia on the NERSC Cori-II supercomputer – one of the 10 most powerful supercomputers in the world,” adds Shah.
Even if the dominance of Java and C++ is unlikely to be shaken, Julia is still finding its niche among today’s programming languages.