I really like Rust but there are lots of situations I wouldn’t use it. Some examples:
If I want very strict control over dependencies, a very small number of dependencies, or dependencies with specific/trusted origin.
If I was building software that won’t be actively maintained for years but might need adjustments later. The Rust ecosystem is a fast-moving target and upgrading a library could cause a huge cascade of other changes.
For the most hassle-free integration with an important library like Qt, particularly if a Qt GUI is the main point of my application.
Most web front-end. Using WASM to control the DOM with glue code is using a sledgehammer to crack a nut.
(?) Probably most event-driven apps like GUIs. Rust’s lifetimes mostly stay out of your way but they only work on the stack. Synchronisation between potentially multiple threads is very in-your-face and explicit, compared with say Java’s “synchronized” methods. It’s only early days for Rust GUI frameworks so I will wait and see. Maybe they’ll come up with something great.
That’s pretty light on details. Is it a flaw in the M1, or just a bug in ARM64 macOS? If it’s the M1 is it a hardware flaw or something that can be patched?
I really like Rust but there are lots of situations I wouldn’t use it. Some examples: