Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Dang, haven’t read much on Julia as of late. I remember using it for a CS 300-level course around 2016 when learning about tokenizing and parsing as part of language fundamentals. Julia has undoubtedly made some significant performance improvements since then. Would love to see a follow-up that explores what, if anything, from this still holds true and what improvements can be made.
  • Note that this article is about Julia 1.0.3, whereas today you should consider as obsolete any experience reports involving Julia versions prior to Julia 1.10 (the current LTS version), the most significant milestone in the maturity and usability of the language.
  • I'm always surprised when people describe Julia syntax as "Pythonic": Julia's syntax was clearly inspired by MATLAB rather than Python.

    And that's a good thing, because Python+NumPy syntax is far more cumbersome than either Julia or MATLAB's.

    You can see this at a glance from this nice trilingual cheat sheet:

    https://cheatsheets.quantecon.org/

  • Phew. 7-year old post about a 10-year old language. Triggers all the LLMs posting empty generic response "Very interesting, exposes limitations...".

    Prelude of what's to come in the self-reinforcing cycle of machines talking to machines and drowning everything else.

  • I really like Julia as a language but I have struggled to adopt it and be productive in it. Part of it is because of the JIT runtime and a sub-par LSP (at least when I last tried).

    To those who regularly write Julia code, what is your workflow? The whole thing with Revise.jl did not suit me honestly. I have enjoyed programming in Rust orders of magnitude more because there's no run time and you can do AOT. My intention is not write scripts, but high performance numerical/scientific code, and with Julia's JIT-based design, rapid iteration (to me at least) feels slower than Rust (!).

  • Julia is reasonably fast. I returned to a language comparison project specific to my math research, to see how I might do better. My agents and I studied the advice in the post and various more recent links from the comments, but we were already mostly on target and nothing left moved the needle.

    My work is more combinatorial. Julia does excel at numerical computation. There's a tribal divide in math between people who can't go 30 seconds away from the real or complex numbers, and those whose tolerance is about that long. I try to keep an open mind, but I'm closer to the second camp. Julia is good enough to consider either way.

    A development in recent months, AI can assist in general purpose Lean 4 programming, no longer getting confused by the dominant proof-oriented training corpus. If one is a functional programmer who believes that Haskell was on the right track, then Lean is the most interesting language choice for shaping one's thoughts. Benchmarks are inherently misleading if a better language makes it possible to express algorithms out of reach of more primitive languages.

    https://github.com/Syzygies/Compare

                C++  100    13.08s  ±0.08s
               Rust   99    13.16s  ±0.02s
              Julia   90    14.54s  ±0.01s
                 F#   90    14.54s  ±0.04s
      Kotlin-native   88    14.79s  ±0.01s
             Kotlin   86    15.18s  ±0.01s
              Scala   79    16.50s  ±0.08s
       Scala-native   76    17.14s  ±0.02s
                Nim   65    20.17s  ±0.01s
              Swift   64    20.54s  ±0.04s
              Ocaml   52    25.38s  ±0.04s
               Chez   49    26.64s  ±0.02s
            Haskell   37    34.96s  ±0.06s
               Lean   29    45.39s  ±0.15s
  • Punchline: rewrote the code to look almost identical to C++, hand-held the compiler by adding @-marks to disable safety checks, forced SIMD codegen and fastmath on.

    End result: code that is uglier and still much slower than C++. Kind of a shame.

Explore Birbla archives