HackerPapers

arXiv:1411.1607cs.MS

Julia: A Fresh Approach to Numerical Computing

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

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.

arXiv comments
37 pages
Journal reference
DOI
Subjects
cs.MSMathematical Software

On Hacker News

Linked by 3 identifiable commenters in 3 comments across 3 threads, from Nov 2014 to Jan 2022. Found in 1 HN submission from Nov 2014 to Nov 2014. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments3 threads

    • CLOS has :before, :after, and :around qualifiers which Julia doesn't support, and CLOS supports multiple inheritance. Both of these make de virtualization much harder. https://arxiv.org/pdf/1411.1607.pdf is a pretty good general resource for info about Julia's design decisions…

      adgjlsfhk1View on HNParent context

    • I recently read this paper about Julia (http://arxiv.org/abs/1411.1607). Now when I hear about PyPy I can't help but think about this quote from that paper: New users also want a quick explanation as to why Julia is fast, and whether somehow the same “magic dust” could also be…

      habermanView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.