12 votes

The Julia programming language is emerging as the tool of choice for large-scale numerical work in scientific research

3 comments

  1. [3]
    gpl
    (edited )
    Link
    I saw this article earlier and thought it was funny that the author cited the enthusiasm for Julia at a convention for Julia as evidence that it is "emerging as a tool of choice". Anecdotally,...

    I saw this article earlier and thought it was funny that the author cited the enthusiasm for Julia at a convention for Julia as evidence that it is "emerging as a tool of choice". Anecdotally, almost no one I know uses Julia seriously in a scientific context, and pretty much all large scale numerical work I am aware of is in C, C++, or Fortran, with smatterings of accelerated Python depending on the definition of "large". I would be interested of course in actual numbers of scientific papers based on Julia code.

    None of this is to imply that Julia isn't good or anything, but I think the framing here gives the impression it is much more used than it is in reality.

    4 votes
    1. vaddi
      (edited )
      Link Parent
      I use it everyday, and while the need to call Python packages using PyCall.jl is a constant, as a tool to manipulate arrays and dataframes, for linear algebra computations, and for plotting I...

      I use it everyday, and while the need to call Python packages using PyCall.jl is a constant, as a tool to manipulate arrays and dataframes, for linear algebra computations, and for plotting I prefer it over Python. It also appears that the language is designed in a way that packages written by people that never talked to each other can work together nicely with little to no work from the user.

      But yeah, I agree that programming languages are marketed almost through hype alone, and that can have detrimental consequences.

      5 votes
    2. Staross
      Link Parent
      Here's some random publications that used Julia (Julia's papers have about 2000 citations, but probably there's a lot of "method papers" in there) :...

      Here's some random publications that used Julia (Julia's papers have about 2000 citations, but probably there's a lot of "method papers" in there) :

      https://www.nature.com/articles/s41566-017-0089-9/
      https://www.nature.com/articles/s41534-017-0017-3?linkId=37249498
      https://www.sciencedirect.com/science/article/pii/S2405471217303861
      https://www.sciencedirect.com/science/article/abs/pii/S0743731518304672

      From the last one :

      In this work, we infer an astronomical catalog from 55 TB of imaging data using Celeste, a Bayesian variational inference code written entirely in the high-productivity programming language Julia. Using over 1.3 million threads on 650,000 Intel Xeon Phi cores of the Cori Phase II supercomputer, Celeste achieves a peak rate of 1.54 DP PFLOP/s. Celeste is able to jointly optimize parameters for 188 M stars and galaxies, loading and processing 178 TB across 8192 nodes in 14.6 min. To achieve this, Celeste exploits parallelism at multiple levels (cluster, node, and thread) and accelerates I/O through Cori’s burst buffer. Julia’s native performance enables Celeste to employ high-level constructs without resorting to hand-written or generated low-level code (C/C++/Fortran) while still achieving petascale performance.

      If you're doing serious scientific computing and you're not using Julia you're doing it wrong imo.

      3 votes