> Rust people keep saying they have no Garbage Collector, when they have a Region Based Garbage Collector.<p>Rust does not have a region based garbage collector. Memory management in Rust works exactly the same as in does in C++ (ie. destructors are automatically called when variables go out of scope, and those destructors may deallocate memory).<p>The borrow checker is purely a check: not only does it operate entirely at compile-time, it does not even influence code generation. The only thing the borrow checker can do is prevent code from compiling.
So this is interesting but I mean imagine a post comparing R to perl. Julia I think has the potential to be a general programming language but it is primarily geared towards data scientists and (more importantly) computational scientists who are stuck writing f77 (and f90 would literally be an upgrade for them). Julia has its use case at least from my vantage point as a computational person while Rust has no applicability (yet) in that domain. For example, the lack of ability to use fortran style loops mentioned in this article kinda says to anyone looking for something new, "yeah I'll stick with fortan then."<p>It's fun to compare things in general but the two languange concern very different areas of computing so much so that the "differences" will actually be the differences in the domains rather than the languages actually.
"My first real programming language was Julia"<p>Such a 2021 moment! Kind of envious. The first programming language follows you through your career. Mine (C++) has been a curse and a blessing at the same time. Wish you luck, sincerely. People like you define the next decades.
As someone who dabbles in both Rust and Julia, I agree there's a lot Julia can learn from Rust. Rust has made a <i>lot</i> of good technical decisions, and I think many of these decisions came from having a team of experienced systems programmers. In comparison, Julia's decision making process seems much more informal, and snap decisions are sometimes made from the narrow perspective of academic programming rather than carefully considering the goals of the language, future uses, and forwards compatibility.
Controversial opinion here! I don't think people who use languages like Julia/R/Python etc worry about most of the computer science side of things. Most of them are data scientists/analysts, statisticians and from pure sciences. Primarily because the availability of wide range of libraries that makes their lives a lot easier. Also many aren't too concerned about performance of the language either. It's indeed fascinating that the author's first language was Julia. It'd be interesting to know why the author chose Julia as the first language.
Strange jump from one new language to another which is intended to solve different set of problems. Why not Nim (which actually has some data libs to compare against)? Performance wise Julia and Rust are not a fair comparison either once you’ve out of Julia’s comfort zone. So, the actual reason of why the author decided to try one over another and not looking at anything else is the exposure? Julia can also learn a lot from Ada about safety. It can learn tons from APL on how to manage multidimensionality in a concise manner. And even though I believe Julia and Rust are great languages everyone should learn about, this kind of choice between one new shiny thing and another new shiny thing feels rushed and therefore amateurish.