Travis B. wrote: ↑Thu Nov 23, 2023 6:10 pm
bradrn wrote: ↑Thu Nov 23, 2023 5:42 pm
Unfortunately, you should be aware that the Julia ecosystem is
very buggy. Julia looks like a good language in some ways, but this is stopping me from using it.
It definitely is true that the Julia ecosystem is less mature than some other ones, but it has a lot of potential (it seems to be the closest thing to a proper replacement for Fortran out there, and it can also replace Python and Matlab too).
Unfortunately, these problems seem pretty deeply embedded in how the Julia ecosystem is structured. The explanation in this article, which I’ve also heard elsewhere, is that Julia libraries rely pretty heavily on informal interfaces. (They can’t really be formalised since the type system doesn’t allow for it.) And of course that makes it
really easy for different libraries to accidentally have slight inconsistencies in how they use and implement these interfaces, which causes these endless bugs.
Also: ‘a proper replacement for Fortran’ is hyperbolic. As a Forth person, it should make sense to you when I say that Fortran gets its speed from being fairly low-level. (And also a few design choices which allow for extra optimisation, e.g. disallowing pointer aliasing.) Julia has a
very good JIT compiler, but it’s still a high-level language. You couldn’t, for instance, reimplement BLAS in Julia (to my knowledge).
As a replacement for Python and MATLAB (and R), sure, that’s what it’s designed for… as long as you don’t mind tracking down nasty correctness bugs every now and then.