Julia: Dynamism and Performance Reconciled byDesign
Published on Nov 5, 2018 in OOPSLA (Conference on Object-Oriented Programming Systems, Languages, and Applications)
· DOI :10.1145/3276490
Julia is a programming language for the scientific community that combines features of productivity languages, such as Python or MATLAB, with characteristics of performance-oriented languages, such as C++ or Fortran. Julia's productivity features include: dynamic typing, automatic memory management, rich type annotations, and multiple dispatch. At the same time, Julia allows programmers to control memory layout and leverages a specializing just-in-time compiler to eliminate much of the overhead of those features. This paper details the design choices made by the creators of Julia and reflects on the implications of those choices for performance and usability.
Figures & Tables