The DOI matches its Crossref record.
Julia: A Fresh Approach to Numerical Computing
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.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Increasingly, circuit theory-based analyses are being conducted on larger and more complex datasets through recent advances in open-source software, programming, and cluster- or cloud-based computing resources.
“Increasingly, circuit theory-based analyses are being conducted on larger and more complex datasets through recent advances in open-source software (e.g., gflow; Leonard et al. 2017b), programming (e.g., the Julia numerical computing language; Bezanson et al. 2017), and cluster- or cloud-based computing resources.”
From Circuit‐theory applications to connectivity science and conservation (2019) · cites this paper as Bezanson et al. 2017
A long-term partnership to improve Circuitscape supported rapid growth in the tool's use and helped inspire the Julia programming language.
“Here, we describe how a long-term partnership to improve Circuitscape supported rapid growth in the tool's use, and also helped inspire a new high-performance programming language called Julia [32,33], which is now empowering the most recent Circuitscape release.”
From Circuitscape in julia: empowering dynamic approaches to connectivity assessment (2021) · cites this paper as [33]
Circuitscape was recently updated by migrating it from Python to the Julia programming language.
“We recently updated Circuitscape [34], a widely used, open-source connectivity analysis software package, by migrating it from Python [35] to the Julia programming language [33].”
From Circuitscape in julia: empowering dynamic approaches to connectivity assessment (2021) · cites this paper as [33]
Omniscape.jl is written in the Julia programming language to be fast, scalable, and easy-to-use.
“It is written in the Julia programming language (Bezanson et al., 2017) to be fast, scalable, and easy-to-use.”
From Omniscape.jl: software to compute omnidirectional landscape connectivity (2021) · cites this paper as Bezanson et al., 2017
The Julia programming language was first publicly released in 2012, is still in rapid development, and was in part inspired by Shah's experience collaborating with McRae to create a powerful yet accessible tool for biodiversity conservation applications.
“First publicly released in 2012, the Julia programming language is still in rapid development [32,33] and was, in part, inspired by Shah's experience collaborating with McRae to create a powerful yet accessible tool for biodiversity conservation applications.”
From Circuitscape in julia: empowering dynamic approaches to connectivity assessment (2021) · cites this paper as [33]
Often, a software tool may be first created in a high-productivity dynamically typed language, and as it matures and needs more performance and scale, it may be converted to a high-performance statically typed language.
“Often, a software tool may be first created in a high-productivity dynamically typed language, and as the tool matures and needs more performance and scale (ability to maintain performance as the problem size increases), it may be converted to a highperformance statically typed language [32,33].”
From Circuitscape in julia: empowering dynamic approaches to connectivity assessment (2021) · cites this paper as [33]
In general, the more information the system has about a program's data inputs, the faster a program can run.
“In general, the more information the system has about a program's data inputs, the faster a program can run.”
From Circuitscape in julia: empowering dynamic approaches to connectivity assessment (2021) · cites this paper as [33]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
No references could be resolved yet.
Research works printed but not linked: 22
- E. Anderson, Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen, LAPACK Users' Guide , 3rd ed., SIAM, Philadelphia, PA, 1999. · DOI
- J. Bezanson, Abstraction in Technical Computing , Ph.D. thesis, Massachusetts Institute of Technology, MA, 2015.
- Bezanson J., 2014, New York, 56
- J. Bezanson, S. Karpinski, V. B. Shah, and A. Edelman, Julia: A Fast Dynamic Language for Technical Computing , preprint,arXiv:1209.5145 [cs.PL], 2012. · arXiv
- 10.1109/JPROC.2004.840490 · DOI
- 10.1007/s10955-006-9226-4 · DOI
- C. Gomez, ed. Engineering and Scientific Computing with Scilab , Birkhäuser, Boston, 1999. · DOI
- Ihaka R., 1996, J. Comput. Graph. Statist., 5, 299, 10.1080/10618600.1996.10474713 · DOI
- 10.1145/322169.322181 · DOI
- Lattner C., 2004, New York, 75
- 10.1145/355841.355847 · DOI
- 10.1287/ijoc.2014.0623 · DOI
- Mohnen M., 2002, Heidelberg, 185
- Murphy M., 1997, Linux J., 1997, 326884
- Muschevici R., 2008, New York, 563
- A. Noack, Fast and Generic Linear Algebra in Julia , Tech. report, MIT, Cambridge, MA, 2015.
- J. Regier, K. Pamnany, R. Giordano, R. Thomas, D. Schlegel, J. McAuliffe, and Prabhat, Learning an Astronomical Catalog of the Visible Universe through Scalable Bayesian Inference , preprint,arXiv:1611.03404 [cs.DC], 2016. · arXiv
- 10.1038/515151a · DOI
- G. Strang, Introduction to Linear Algebra , Wellesley-Cambridge Press, Wellesley, MA, 2003,https://books.google.com/books?id=Gv4pCVyoUVYC.
- M. Udell, K. Mohan, D. Zeng, J. Hong, S. Diamond, and S. Boyd, Convex optimization in Julia , in SC14 Workshop on High Performance Technical Computing in Dynamic Languages, 2014; preprint,arXiv:1410.4821 [math.OC], 2014. · DOI
- S. van der Walt, S. C. Colbert, and G. Varoquaux, The NumPy Array: A Structure for Efficient Numerical Computation ,CoRR, abs/1102.1523, 2011. · DOI · Paper page
- L. Wilkinson, The Grammar of Graphics (Statistics and Computing) , Springer-Verlag, New York, 2005.
Cited by
Sorted by citations
Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., et al. (2020) · Nature · doi:10.1038/s41586-020-2649-2 · Cited by 23,826
“New generation languages, interpreters, and compilers, such as Rust [52], Julia [53], and LLVM [54], will invent and determine the viability of new concepts and data structures.”
BackgroundCircuit‐theory applications to connectivity science and conservation
Dickson, B. G., Albano, C. M., Anantharaman, R., Beier, P., Fargione, J., Graves, T. A., Gray, M. E., Hall, K. R., Lawler, J. J., Leonard, P. B., et al. (2019) · Conservation Biology · doi:10.1111/cobi.13230 · Cited by 461
Self-citationEvent Horizon Telescope Collaboration, Akiyama, K., Alberdi, A., Alef, W., Algaba, J. C., Anantua, R., Asada, K., Azulay, R., Bach, U., Baczko, A.-K., et al. (2022) · The Astrophysical Journal Letters · doi:10.3847/2041-8213/ac6736 · Cited by 369
“VIDA Variational Image-Domain Analysis (VIDA; P. Tiede et al. 2022, in preparation) is an IDFE tool for quantifying the parameters describing a specifiable image morphology; it is written in Julia (Bezanson et al. 2017) and contained in the package VIDA.jl.154 VIDA employs a template-matching approach for image analys…”
MethodInfluentialThe mutational footprints of cancer therapies
Pich, O., Muiños, F., Lolkema, M. P., Steeghs, N., Gonzalez-Perez, A., & Lopez-Bigas, N. (2019) · Nature Genetics · doi:10.1038/s41588-019-0525-5 · Cited by 309
MUON: multimodal omics analysis framework
Bredikhin, D., Kats, I., & Stegle, O. (2022) · Genome Biology · doi:10.1186/s13059-021-02577-8 · Cited by 216
Quantum-inspired support vector machine
Ding, C., Bao, T.-Y., & Huang, H.-L. (2022) · IEEE Transactions on Neural Networks and Learning Systems · doi:10.1109/tnnls.2021.3084467 · Cited by 186
Circuitscape in Julia: High Performance Connectivity Modelling to Support Conservation Decisions
(2020) · JuliaCon Proceedings · doi:10.21105/jcon.00058 · Cited by 163
Omniscape.jl: software to compute omnidirectional landscape connectivity
Landau, V., Shah, V., Anantharaman, R., & Hall, K. (2021) · Journal of Open Source Software · doi:10.21105/joss.02829 · Cited by 139
Self-citationNetKet 3: Machine Learning Toolbox for Many-Body Quantum Systems
Vicentini, F., Hofmann, D., Szabó, A., Wu, D., Roth, C., Giuliani, C., Pescia, G., Nys, J., Vargas-Calderón, V., Astrakhantsev, N., et al. (2022) · SciPost Physics Codebases · doi:10.21468/scipostphyscodeb.7 · Cited by 135
Circuitscape in julia: empowering dynamic approaches to connectivity assessment
Hall, K. R., Anantharaman, R., Landau, V. A., Clark, M., Dickson, B. G., Jones, A., Platt, J., Edelman, A., & Shah, V. B. (2021) · Land · doi:10.3390/land10030301 · Cited by 115
Self-citationStrawn, J. R., Mills, J. A., Sauley, B. A., & Welge, J. A. (2018) · Journal of the American Academy of Child & Adolescent Psychiatry · doi:10.1016/j.jaac.2018.01.015 · Cited by 98
Zhao, T., Zeng, J., & Cheng, H. (2022) · Genetics · doi:10.1093/genetics/iyac034 · Cited by 52
Pricing and advertising strategies in conceptual waste management planning
Šomplák, R., Kůdela, J., Smejkalová, V., Nevrlý, V., Pavlas, M., & Hrabec, D. (2019) · Journal of Cleaner Production · doi:10.1016/j.jclepro.2019.118068 · Cited by 43
Catalyst: Fast and flexible modeling of reaction networks
Loman, T. E., Ma, Y., Ilin, V., Gowda, S., Korsbo, N., Yewale, N., Rackauckas, C., & Isaacson, S. A. (2023) · PLoS Computational Biology · doi:10.1371/journal.pcbi.1011530 · Cited by 47
A population code for spatial representation in the zebrafish telencephalon
Yang, C., Mammen, L., Kim, B., Li, M., Robson, D. N., & Li, J. M. (2024) · Nature · doi:10.1038/s41586-024-07867-2 · Cited by 38
Variational Image Feature Extraction for the Event Horizon Telescope
Tiede, P., Broderick, A. E., & Palumbo, D. C. M. (2022) · The Astrophysical Journal · doi:10.3847/1538-4357/ac3a6b · Cited by 29
Neural physical engines for inferring the halo mass distribution function
Charnock, T., Lavaux, G., Wandelt, B. D., Sarma Boruah, S., Jasche, J., & Hudson, M. J. (2020) · Monthly Notices of the Royal Astronomical Society · doi:10.1093/mnras/staa682 · Cited by 26
Eco-Evolutionary Origins of Diverse Abundance, Biomass, and Trophic Structures in Food Webs
Gibert, J. P., & Yeakel, J. D. (2019) · Frontiers in Ecology and Evolution · doi:10.3389/fevo.2019.00015 · Cited by 21
Rational design of 19F NMR labelling sites to probe protein structure and interactions
Streit, J. O., Chan, S. H. S., Daya, S., & Christodoulou, J. (2025) · Nature Communications · doi:10.1038/s41467-025-59105-6 · Cited by 17
High-Round QAOA for MAX $k$-SAT on Trapped Ion NISQ Devices
Pelofske, E., Bärtschi, A., Golden, J., & Eidenbenz, S. (2023) · 2023 IEEE International Conference on Quantum Computing and Engineering (QCE) · doi:10.1109/qce57702.2023.00064 · Cited by 15
Two-Qubit Operations for Finite-Energy Gottesman-Kitaev-Preskill Encodings
Rojkov, I., Röggla, P. M., Wagener, M., Fontboté-Schmidt, M., Welte, S., Home, J., & Reiter, F. (2024) · Physical Review Letters · doi:10.1103/physrevlett.133.100601 · Cited by 12
Omnidirectional and omnifunctional connectivity analyses with a diverse species pool
Tessier, D. L., Maranger, R., & Poisot, T. (2020) · bioRxiv · doi:10.1101/2020.02.03.932095 · Cited by 4
Two prefrontal-subcortical circuits estimate controllability and reflect its impact on learning
Liu, Y., Spiering, L., Luo, S., Kingston, N., Grohn, J., & Rushworth, M. F. S. (2026) · Neuron · doi:10.1016/j.neuron.2026.07.029 · Cited by 1
Reactive Environments for Active Inference Agents with RxEnvironments.jl
Nuijten, W. W. L., & de Vries, B. (2025) · Communications in computer and information science · doi:10.1007/978-3-031-77138-5_10
Metadata
- Authors
- Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B.
- Venue
- SIAM Review
- Published
- 2017-01
- Volume
- 59
- Issue
- 1
- Pages
- 65-98
- ISSN
- 0036-1445
- 1095-7200
- Cited by
- 5,440
- References
- 0
- Language
- en
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review