PofoliaShared via Pofolia

SIAM Review· 2017Q1

Julia: A Fresh Approach to Numerical Computing

Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah

Short summary

Julia is a new programming language designed to be both easy to use and fast, challenging the long-held belief that high-level dynamic programs must be slow.

AI-generated from the title and abstract; the full text is not read.

Key points

  • Julia is designed to be easy and fast, unlike typical high-level dynamic programs.
  • It eliminates the need to prototype in one language and rewrite in another for speed.
  • Julia uses multiple dispatch and generic programming to select the right algorithms and capture mathematical abstractions in code.
  • It achieves machine performance while maintaining human convenience.

AI-generated from the title and abstract; the full text is not read.

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 and questions notions generally held to be “laws of nature" by practitioners of numerical computing: \beginlist \item High-level dynamic programs have to be slow. \item One must prototype in one language and then rewrite in another language for speed or deployment. \item There are parts of a system appropriate for the programmer, and other parts that are best left untouched as they have been built by the experts. \endlist 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, which is 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 achieve machine performance without sacrificing human convenience.

The authors' abstract, as published at the source. SIAM Review, 2017 · DOI ↗

TakeawaysPremium
Ask the paperFree account

Continue with a free account

Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.

Continue free on the web

Sign in with Google or Apple; no card needed. You come back to this paper.

On your phone:

Field: Hardware and Architecture

Hardware and ArchitectureComputer Science