| > Expressive, pretty powerful, ML and Haskell inspired type system This is not a reason to use rust. It's like saying "I like Ferraries, because they drive fast", failing to specify WHY you need to drive fast (you usually really don't, unless you are on a race track) > Memory safe. In higher level code you have almost zero justification for `unsafe`, except you really need a C library. Java, C#, etc. > Immutable by default. Can feel almost functional, depending on code style. Okay, however this isn't a big win in practice. Java has this too with @Immutable and mostly that's enough. > Very coherent language design. The language has few warts, in part thanks to the young age. Yes, Rust looks fine. Let's see how it evolves. Coherent language design is however again not a reason to use rust, because it fails to mention WHY you need it and WHY it solves a business problem better than Java, C# or C++. > Great package manager and build system. Yeah, pretty much all modern languages have that, so it's not worth to even mention. Rust builds are slow, so there is that. > Great tooling in general (compiler errors, formatter, linter, docs generation, ... ) Really? Ever used Java or C# tooling? > Library availability is great in certain domains, ok most. Compared to what? C++? I don't even think there it's true. When comparing to Java or C# library availability and quality is a joke in Rust. > Statically compiled (though I often wish there was an additional interpreter/repl). Mostly statically linked. Yeah... What do you need that for? Again no mention of why that's even useful. > Good performance without much effort. Like in Java, C# and C++ you mean? > Good concurrency/parallelism primitives, especially since async Async is a paradigm that received a lot of criticism lately. It turns out to be cancerous. Fibers will likely replace it and Java is getting it soon. Otherwise yeah, concurrency is something any modern language should solve and maybe Rust has a head-start here. The whole purpose of Rust is focused around safe multi-threading. However other languages don't sleep. You don't switch your company to Rust just because it does one thing better for a couple of years. Other languages will catch up soon. |