Advantages of Julia vs Mojo

Julia doesn’t have a borrow checker, but it doesn’t mean “compiling-but-not working”. The code will always compile to correct code, at least if assuming single-threaded, the main problem I see is multi-threaded, and then possible race conditions. You can even have multi-threaded and no race-conditions, depending on what you are doing.

You say SBRM “isn’t that hard”; but with GC even easier, regarding just releasing memory. For speed (early freeing) harder, without manual intervention like Bumper.jl, but it seems to me Julia could do similar to Mojo automatically (i.e. without code changes), and tell you, in the REPL when it deallocates as early as in Mojo (or rather tell you when it can’t), earlier (in practice) than in C++. In C++ destructors must run in deterministic order (though seemingly it doesn’t rule out freeing earlier, as early as Rust, just a matter of good optimizers…).