MITB Banner

Julia’s Rise in Scientific Computing

Enterprises are embracing Julia for scientific computing

Share

Illustration by Nikhil Kumar

While there were C, C++, Python and Ruby, in February 2012, a new language named Julia emerged and later became one of the most usable languages among the scientific community.

Julia is a general-purpose language and is known for its applications in numerical analysis, data visualisation, and machine learning. The language combines the speed of C, the dynamism of Ruby, the practicality of Python, and the statistical capabilities of R, while also excelling in linear algebra like MATLAB. 

The language was co-built by Viral B. Shah, who, out of his own frustration, undertook the arduous task of creating a whole new language. The story goes back to the time, when Shah was doing his PhD in Computer Science, where he worked on building a MATLAB-like language and it was quite a waste of time to write the code in MATLAB and then rewrite it again in C. This was very frustrating for him.

Shah along with Alan Edelman, Jeff Bezanson, and Stefan Karpinski, imagined a language that will have the blend of C and the simplicity of Python. They began working on the programming language  in 2009 aimed to address the limitations they faced in the field of technical computing with existing programming languages.

“It was like a rule until we developed Julia that a programming language can either be fast or easy,” Viral B. Shah, the CEO of Julia said at an event hosted by AIM on Saturday. “C and C++ are faster languages with a steep learning curve while Python, Ruby are easier to work with and are known to be slower and user-friendly.” 

Almost a decade later, Julia is a popular language because of its speed and easy-to-use features. This year, nearly five million users were recorded to use the programming language. 

The standout feature is its exceptional speed, because of its just-in-time compiler that converts source code into machine code before execution. Unlike many high-level languages, Julia offers a flexible parametric type system. This makes static typing optional by default and allows types to take parameters. 

This flexibility leads to the multiple dispatch pattern, where a function can have multiple methods or implementations based on input parameters, with the language determining which method to dispatch at runtime. This is not the case in Python, which employs single dispatch, meaning the method to execute is determined solely by the type of the first argument. 

Over the years, Julia has seen several major version releases, each introducing new features and improvements. Julia 0.2, released in August 2013, brought enhanced performance and parallel computing capabilities. Subsequent versions continued to expand Julia’s capabilities, focusing on language stability, efficiency, and integration with external libraries. The milestone release of Julia 1.0 in August 2018 marked a stable and mature phase for the language, aiming for long-term stability and compatibility.

Julia For Enterprise

Most programming environment successes in the last 20 years—JAVA, Swift, and .NET—are supported by big companies to build the ecosystem around it.  Julia is one of the few languages that thrived without the backing of big techs. “We started with a very small core team and Julia has no backing from big techs.” 

Julia, an open source language, which mainly relies on contributions from the community, has branched out for enterprises. Shah explained the decision to commercialise Julia saying, “Open source is fantastic and it’s a community, but we’ve learned over time in this industry that science and engineering companies, unlike tech companies, don’t mind paying for software.” 

While Julia is fundamentally an open-source project, Julia Computing provides essential commercial support and development. This dual approach allows the company to contribute to the open-source ecosystem while also offering proprietary tools and solutions for more complex enterprise needs. 

Julia has developed several products tailored for enterprise use. These include Pumas for pharmaceutical modelling, JuliaSim for modelling and simulation applications, and a specialised SPICE simulator for circuit design. AstraZeneca, Moderna, Pfizer, Procter & Gamble, and United Therapeutics have partnered with Julia. AstraZeneca along with Prioris.ai developed a Bayesian neural network (BNN) using Julia. 

This network is designed to predict drug-induced liver injury, a crucial aspect in the preclinical phase of drug development. The use of BNNs, as opposed to traditional deep neural networks, offers the advantage of not only predicting toxicity but also quantifying uncertainty in these predictions, thereby improving the reliability and safety of drug development processes. 

Addressing concerns about the safety and security aspect Viral said, “As a business, we are focusing on scientific use cases. So if you’re building a spy circuit, or a control system for a new engine, or for a new aircraft, or drug discovery, we are building safety critical capabilities in Julia for writing code that will run on physical devices.”

JuliaSim, which was launched in 2021, is a tool for multi-physics simulation. It’s a part of the Julia ecosystem that specialises in physical systems, integrating various physics domains into a single, coherent simulation environment. 

“For example, if I wanted to build a model of gearbox or model of a braking system, or model of battery, it allows you to sort of create these models in code and then link them together in a Graphical User Interface (GUI) and then it simulate and it will go ahead and analyse the entire system,” Shah explained. 

A key strength of Julia, which also propelled its adoption in the industry, is its ability to integrate with existing software libraries in C, Fortran, and Java. This feature is crucial for enterprises with substantial investments in legacy code. Julia is engineered not only to facilitate the writing of new, high-performance code but also to leverage existing software assets effectively.

Share
Picture of K L Krithika

K L Krithika

K L Krithika is a tech journalist at AIM. Apart from writing tech news, she enjoys reading sci-fi and pondering the impossible technologies, trying not to confuse it with reality.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Courses & Careers

Become a Certified Generative AI Engineer

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India

Subscribe to Our Newsletter

The Belamy, our weekly Newsletter is a rage. Just enter your email below.