Do you have evidence for that?
I'm a mathematician at a research university, and maybe two of my colleagues are using Julia. Despite their proselytism, everyone else is using Python, C, or math-specific software such as GAP, Matlab, or Mathematica.
In terms of examples of hard sciences where it shines: It is the only tool in existence that has at the same time high-quality differential equation solvers and autodiff on them. Compare DifferentialEquations.jl to any other package in any other language. The rich capabilities of the aforementioned package depend on the multiple dispatch + aggressive devirtualization used in Julia. Python/Jax/Tensorflow/Pytorch while wonderful on their own, are nowhere near these capabilities. Matlab/Mathematica do not have these capabilities. The famous C/Fortran/C++ libraries are also far less capable in comparison.
> Compare DifferentialEquations.jl to any other package in any other language
If you do not know how to do such a comparison for yourself, this thread has details https://news.ycombinator.com/item?id=31883793
Going by popularity, 1-based indexing is the established convention.
Any shred of evidence for that? Listing four languages for each won't cut it.
Given Excel’s massive success and nontechnical user base, which again is larger than all languages combined, it’s hard for me to see 1-based indexing was a mistake. I have experience teaching novices how to program, and 0-based indexing is always a sticking point of confusion. So from my perspective, 1-based indexing is the right choice for excel given the user base and programming style.
When someone wrote “Going by popularity, 1-based indexing is the established convention” and you replied “Yes, but not so much in scientific computing” I understood that as “1-based indexing is less used in scientific computing compared to general computing”.
The argument for 1-based indexing with inclusive upper bounds is that binary heaps are easier to write this way. Edit: And that people who are not primarily programmers may find 0-based indexing weird.
Alas, if just our forefathers had called it "offset" instead of "index".
Nope. The argument for 1-based indexing with inclusive upper bounds is that, to express ranges, exclusive indexes require you to have a bogus just-one-beyond-the-largest-valid-index element and a way to get the successor for every index. This is a giant PITA for anything but integers (MAX_INT, and x+1), which is why every single programming language I can think of also has end-inclusive ranges in some contexts. If you don't believe me try writing regexps with end-exclusive ranges.
On the other hand, there is no natural way to express empty ranges with 1-based indexing.
[a-zA-Z_][a-zA-Z0-9_]*
Here's what the same regexp would look like if regexp ranges were end-exclusive: [a-{A-[][a-{A-[0-:_]*
Do you see the issue now? Of course if regexps really worked that way, you'd be better off doing this instead: [a-zzA-ZZ][a-zzA-ZZ0-99_]
But that specific trick only works because regexp ranges occur in a set union context.0-based languages are in the minority as far as installed base and usage goes. Being 1-based is a decision dependent on target audience and application.
Fortran, one of the earliest languages, is 1-based, so there’s plenty of historical precedent.
Matlab, one of the most commercially successful languages in history is 1-based, so it’s not exactly a barrier to adoption.