First of all, I think this sort of aggressive tone is unwarranted. Secondly, I think it's on you to clarify that you were talking specifically and exclusively about static compilation to standalone binaries. Re-reading…
I'm not exactly sure what you don't believe, your comment is hard to follow, or relies on premises I haven't detected. What you are describing in your first paragraph is somewhat reminiscent of dynamic dispatch, which…
> Julia is fastest with immutable structures--why provide a built-in syntax for complex assignment to mutable types, but then relegate lenses to a library that only FP aficionados will use? This is not really accurate.…
Interesting. I have not experienced that, except when trying out the pre-release version of tinymist, and did some messy multiple view+cropping into a big pdf (testing out the new pdf-image stuff.) I chalked it up to it…
> 2. (minor compared to Overleaf) typst compiles faster. I would argue that this isn't minor. At least in my opinion, it makes a big difference. Overleaf, already 3 pages into a document, with a couple of TikZ figures,…
Then you are back to the "two language problem". I'm sure that's not a problem for you and for many others, but there is a reason it has its own, widely known name. It really is a problem for people who are mostly not…
Could you elaborate on the numerical precision issue regarding Julia?
I forgot to mention the difference in function passing, the fact that Matlab passes arguments by value (unless it's a `handle` class) makes it really hard to do in-place transformations, as in passing an array to a…
In some cases, applying a limited set of basic operations might make up a significant part of development time, but in my experience most of the time is spent designing algorithms, parsing function input and managing…
Both zero-based and one-based indexing is common in mathematics, for example polynomials, exponential series, transforms, etc. are often zero-based. But in most of the literature that I've seen, vectors and matrices…
You are mostly correct, though I want to point out that N-dim arrays are different from matrices. In Matlab everything is a matrix, unless it is a higher-dimensional array. This means that any 'scalar value' is actually…
Loopvectorization exploits avx512, when available. How is that achieved?
You must mean REPL, not notebook. I've been following the community since before the move to Discourse, and "use the REPL" surely outnumbers "use a notebook" by orders of magnitude.
It's really all down to your tone and attitude. If you're hostile, demanding and negative, you will indeed get pushback, but that's human nature. Some people feel that they should get to act like a prick, while everyone…
You make it sound a bit like they optimized the heck out of Julia, while the Mojo sample was a naive little thing in a new innocent language. The reality is that the Julia optimization was just a rewrite to use the same…
Please actually read the Mojo code. It is full of complex hand-optimized simd instructions. By comparison, the simd-optimized Julia code (especially the first version) is significantly more elegant and transparent.…
I'm curious about the "language instability". What kind of stability is that? Are talking about package instability, or the core language?
The compiler is free and open source, not proprietary. It is built on LLVM, which is also FOSS. And Julia code is not Fortran/C/C++, not sure what you are asking.
I don't think this has anything to do with whether 1e-300 and 10.0^-300 is parsed differently (and perhaps that is a mistake). The poster seems to want to parse 1e-300 directly as a BigFloat in the call…
Yes, I got that argument, and that is exactly what I was arguing against. You cannot and should not parse the literal double `1e-300` differently dependent on which function it is later passed to. This is what…
The argument isn't silently treated as a double, it is explicitly and loudly treated as a double, because it is a literal double. And this is not an advantage to the designer exclusively, it is very much an advantage…
I actually find the string macro syntax even more convenient: `big"1e-300"`.
And now this comment is one of those, even though it's not actually based on trying out the new release.
Indeed there are no special operators, :. and ==: etc. They are just :, . and == And macro definition code looks quite different from 'regular' code since it works so much with expressions and symbols.
I would guess the majority of users never write a single line of macro definitions or expression evaluation.
First of all, I think this sort of aggressive tone is unwarranted. Secondly, I think it's on you to clarify that you were talking specifically and exclusively about static compilation to standalone binaries. Re-reading…
I'm not exactly sure what you don't believe, your comment is hard to follow, or relies on premises I haven't detected. What you are describing in your first paragraph is somewhat reminiscent of dynamic dispatch, which…
> Julia is fastest with immutable structures--why provide a built-in syntax for complex assignment to mutable types, but then relegate lenses to a library that only FP aficionados will use? This is not really accurate.…
Interesting. I have not experienced that, except when trying out the pre-release version of tinymist, and did some messy multiple view+cropping into a big pdf (testing out the new pdf-image stuff.) I chalked it up to it…
> 2. (minor compared to Overleaf) typst compiles faster. I would argue that this isn't minor. At least in my opinion, it makes a big difference. Overleaf, already 3 pages into a document, with a couple of TikZ figures,…
Then you are back to the "two language problem". I'm sure that's not a problem for you and for many others, but there is a reason it has its own, widely known name. It really is a problem for people who are mostly not…
Could you elaborate on the numerical precision issue regarding Julia?
I forgot to mention the difference in function passing, the fact that Matlab passes arguments by value (unless it's a `handle` class) makes it really hard to do in-place transformations, as in passing an array to a…
In some cases, applying a limited set of basic operations might make up a significant part of development time, but in my experience most of the time is spent designing algorithms, parsing function input and managing…
Both zero-based and one-based indexing is common in mathematics, for example polynomials, exponential series, transforms, etc. are often zero-based. But in most of the literature that I've seen, vectors and matrices…
You are mostly correct, though I want to point out that N-dim arrays are different from matrices. In Matlab everything is a matrix, unless it is a higher-dimensional array. This means that any 'scalar value' is actually…
Loopvectorization exploits avx512, when available. How is that achieved?
You must mean REPL, not notebook. I've been following the community since before the move to Discourse, and "use the REPL" surely outnumbers "use a notebook" by orders of magnitude.
It's really all down to your tone and attitude. If you're hostile, demanding and negative, you will indeed get pushback, but that's human nature. Some people feel that they should get to act like a prick, while everyone…
You make it sound a bit like they optimized the heck out of Julia, while the Mojo sample was a naive little thing in a new innocent language. The reality is that the Julia optimization was just a rewrite to use the same…
Please actually read the Mojo code. It is full of complex hand-optimized simd instructions. By comparison, the simd-optimized Julia code (especially the first version) is significantly more elegant and transparent.…
I'm curious about the "language instability". What kind of stability is that? Are talking about package instability, or the core language?
The compiler is free and open source, not proprietary. It is built on LLVM, which is also FOSS. And Julia code is not Fortran/C/C++, not sure what you are asking.
I don't think this has anything to do with whether 1e-300 and 10.0^-300 is parsed differently (and perhaps that is a mistake). The poster seems to want to parse 1e-300 directly as a BigFloat in the call…
Yes, I got that argument, and that is exactly what I was arguing against. You cannot and should not parse the literal double `1e-300` differently dependent on which function it is later passed to. This is what…
The argument isn't silently treated as a double, it is explicitly and loudly treated as a double, because it is a literal double. And this is not an advantage to the designer exclusively, it is very much an advantage…
I actually find the string macro syntax even more convenient: `big"1e-300"`.
And now this comment is one of those, even though it's not actually based on trying out the new release.
Indeed there are no special operators, :. and ==: etc. They are just :, . and == And macro definition code looks quite different from 'regular' code since it works so much with expressions and symbols.
I would guess the majority of users never write a single line of macro definitions or expression evaluation.