Publication | Open Access
Julia: dynamism and performance reconciled by design
121
Citations
30
References
2018
Year
EngineeringAccelerated DesignGeometryScientific CommunityCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisSocial SciencesGenerative DesignSystems EngineeringParallel ComputingProductivity LanguagesProgramming LanguagesHigh-level Programming LanguageCompiler SupportDesignComputer EngineeringProgramming Language ImplementationComputer ScienceOptimizing CompilerSoftware DesignArchitectural DesignProgram AnalysisParallel Programming
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1