vix.ing · top · new · best · stats · spec

Julia: A Fresh Approach to Numerical Computing

2014/11/06 by Jeff Bezanson, Alan Edelman, Bezanson, Jeff +5 · 1 voice · 254 citations
Computer Science · #Distributed and Parallel Computing Systems #Parallel Computing and Optimization Techniques #Quantum Computing Algorithms and Architecture #cs.MS

paper · pdf · doi:10.48550/arxiv.1411.1607

openalex publication_date 2014/11/06 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast. Julia questions notions generally held as "laws of nature" by practitioners of numerical computing: 1. High-level dynamic programs have to be slow. 2. One must prototype in one language and then rewrite in another language for speed or deployment, and 3. There are parts of a system for the programmer, and other parts best left untouched as they are built by the experts. We introduce the Julia programming language and its design --- a dance between specialization and abstraction. Specialization allows for custom treatment. Multiple dispatch, a technique from computer science, picks the right algorithm for the right circumstance. Abstraction, what good computation is really about, recognizes what remains the same after differences are stripped away. Abstractions in mathematics are captured as code through another technique from computer science, generic programming. Julia shows that one can have machine performance without sacrificing human convenience.

Cited by

Discussions

Related