Rust is CPP but RAII memory model is enforced by the compiler and there is no C subset (just foreign function interface). It became popular because it basically absorbed a lot of saavy high level language constructs into something that could compile to machine code rather than needing a runtime on the system. In the same vein it became very popular because the tooling was all first party (linting, package management, static analysis).
The compiler requires LLVM (which is complicated on some platforms), and there are no shared libraries so every rust program is statically compiled with hundreds of libraries and so compilation takes much longer. There is gccrs which is an effort to port the language to GCC.
Now my personal opinion TM
I dislike rusts large dependency tree for even trivial programs and its npmification. The lack of ABI and reliance on static compilation is also a deal breaker for me.
But also I feel like rust programs generally tend to be of higher quality and they actually are great at porting and claiming what they preach. Rust basically disproved Javas insistence on a virtual machine runtime and showed that compiling to machine code was still always possible.
Taking communist to mean materialist:
Rust is CPP but RAII memory model is enforced by the compiler and there is no C subset (just foreign function interface). It became popular because it basically absorbed a lot of saavy high level language constructs into something that could compile to machine code rather than needing a runtime on the system. In the same vein it became very popular because the tooling was all first party (linting, package management, static analysis).
The compiler requires LLVM (which is complicated on some platforms), and there are no shared libraries so every rust program is statically compiled with hundreds of libraries and so compilation takes much longer. There is gccrs which is an effort to port the language to GCC.
Now my personal opinion TM
I dislike rusts large dependency tree for even trivial programs and its npmification. The lack of ABI and reliance on static compilation is also a deal breaker for me.
But also I feel like rust programs generally tend to be of higher quality and they actually are great at porting and claiming what they preach. Rust basically disproved Javas insistence on a virtual machine runtime and showed that compiling to machine code was still always possible.
I just wish everyone used lisp instead.