> [...] but it's really hard to justify to myself the pain of writing correct Rust code (borrowing, lifetimes, etc.) when I know I can get almost the same effect by using a GC language + immutable messages.
> And I don't need that last drop of performance either.
You probably write more highlevel code? Rust is --as the name implies-- most suited for close-to-the-metal code. This is often where that "last drop of performance" counts.
> Rust is --as the name implies-- most suited for close-to-the-metal code.
There are a lot of projects that really could be written in a high-level language, but they were started when C was still preferable due to the immaturity of higher-level solutions. I think it is sad that people, looking at these aging and unaudited C codebases, are thinking about rewriting them in Rust, when rewriting them in e.g. Python might make better sense. Very little Free Software needs to be so close to the metal, and it was just a historical accident that we got so much written in C.
Most of the FOSS software originated with the UNIX culture, where C thrives and the original FSF Manifesto suggested using only C to increase portability between POSIX systems.
So the historical accident was UNIX/POSIX taking over the majority of OS architectures.
> I think it is sad that people, looking at these aging and unaudited C codebases, are thinking about rewriting them in Rust, when rewriting them in e.g. Python might make better sense.
I agree... apart from the Python bit. :) When deving software that is very big (LOC) or very widely distributed (FLOSS packages), then I prefer "well typed" languages that do not need a VM/interpreter.
But Rust is linker compatible with C and C++, meaning the typesafe rewrites can also be shoehorned into Python, just like its native extensions in C are...
> And I don't need that last drop of performance either.
You probably write more highlevel code? Rust is --as the name implies-- most suited for close-to-the-metal code. This is often where that "last drop of performance" counts.