Table of Contents
Fetching ...

The State of Julia for Scientific Machine Learning

Edward Berman, Jacob Ginesin

TL;DR

The paper evaluates Julia's readiness as a primary tool for scientific machine learning by surveying its ecosystem, language design, and ergonomics. It highlights strong capabilities in linear algebra, constrained optimization on manifolds, automatic differentiation, and probabilistic programming, while identifying significant barriers such as limited software engineering features, debugging complexity, industry adoption, and interoperability. The authors argue that despite Julia's technical advantages, these language-level and ecosystem gaps impede broader adoption and call for a community-driven roadmap or 'constitution' to guide future development. The work serves as a call to action to address fundamental language issues to determine whether Julia can realistically supplant Python in the scientific ML landscape.

Abstract

Julia has been heralded as a potential successor to Python for scientific machine learning and numerical computing, boasting ergonomic and performance improvements. Since Julia's inception in 2012 and declaration of language goals in 2017, its ecosystem and language-level features have grown tremendously. In this paper, we take a modern look at Julia's features and ecosystem, assess the current state of the language, and discuss its viability and pitfalls as a replacement for Python as the de-facto scientific machine learning language. We call for the community to address Julia's language-level issues that are preventing further adoption.

The State of Julia for Scientific Machine Learning

TL;DR

The paper evaluates Julia's readiness as a primary tool for scientific machine learning by surveying its ecosystem, language design, and ergonomics. It highlights strong capabilities in linear algebra, constrained optimization on manifolds, automatic differentiation, and probabilistic programming, while identifying significant barriers such as limited software engineering features, debugging complexity, industry adoption, and interoperability. The authors argue that despite Julia's technical advantages, these language-level and ecosystem gaps impede broader adoption and call for a community-driven roadmap or 'constitution' to guide future development. The work serves as a call to action to address fundamental language issues to determine whether Julia can realistically supplant Python in the scientific ML landscape.

Abstract

Julia has been heralded as a potential successor to Python for scientific machine learning and numerical computing, boasting ergonomic and performance improvements. Since Julia's inception in 2012 and declaration of language goals in 2017, its ecosystem and language-level features have grown tremendously. In this paper, we take a modern look at Julia's features and ecosystem, assess the current state of the language, and discuss its viability and pitfalls as a replacement for Python as the de-facto scientific machine learning language. We call for the community to address Julia's language-level issues that are preventing further adoption.

Paper Structure

This paper contains 16 sections.