> While Mozilla support does help a lot for sure, a lot of the hype around Rust (imo) comes from people trying it out, just falling in love with and then promoting it
AFAIK Rust was a much different language before Mozilla officially adopted it (wasn't the borrow checker implemented after Mozilla sponsorship?). So not only was it not the same language, it wasn't known at all. Don't underestimate the power of full-time developers working on a programming language and having the support of a well known organisation behind them.
Sadly a lot of the hype is simply "omg, Mozilla uses this langauge" or "omg, Google uses this language".
Nim is garbage collected, which means it doesn't need borrow checking. Garbage collection in threaded languages is a well studied problem. Safe threading in a statically collected language is new.
This is clearly a better solution compared to the average language but what if you forget to mark a field or object as guarded?
Just take a look at the basic problem of multi-threading: two threads write to the same memory ___location. This situation is unpredictable and there never allowed to happen.
There are three general strategies to deal with this: immutability, mutexes and linear types to ensure there is only one reference with write capability.
The latter makes writing code that is not thread-safe impossible at compile time without sacrificing efficiency and is used by at least two programming languages that I know of: Ponylang and Rust. For me impossible vs "oops forgot to guard it" are worlds apart. The compiler will inform you that it is not thread-safe and then you can decide to use a different solution like a mutex if necessary.
Actually Nim does offer something new in this regard. See https://nim-lang.org/docs/manual.html#guards-and-locks.
> While Mozilla support does help a lot for sure, a lot of the hype around Rust (imo) comes from people trying it out, just falling in love with and then promoting it
AFAIK Rust was a much different language before Mozilla officially adopted it (wasn't the borrow checker implemented after Mozilla sponsorship?). So not only was it not the same language, it wasn't known at all. Don't underestimate the power of full-time developers working on a programming language and having the support of a well known organisation behind them.
Sadly a lot of the hype is simply "omg, Mozilla uses this langauge" or "omg, Google uses this language".