Languages are not used in isolation, the days that grammar and semantics were enough to warrant a language change.
IDE support can be considered very good if the baseline is the 90's Borland and Microsoft IDE experience, not what modern Java and .NET are capable of, which starts to finally approach the Smalltalk and Common Lisp development experience of yore.
Rust IDEs can't still offer completion that works all the time, let alone all the other IDE features.
Perf is no match for Visual VM, as it is a Linux only tool, and it's usability is found lacking. It is so good that Google was forced to create their own graphical based tooling after years of Android developers complaints being forced to use it.
Yeah, except not every business is willing to wait 25 years for Rust to achieve parity with today's Java ecosystem.
Note that C++ is 40 something years old and still there are domains that it is fighting against C, which require a generational change before being open to try out anything else.
Rust's has a big selling story for OS low level systems libraries, the niche C++ is heading to, with the caveat that C++ will as secure as Rust, that is where the language should focus.
To be honest, had Go supported generics from day one, Nim or D some corporate backing, and I would have never considered Rust for hobby projects beyond the language geek thing of trying out new languages every year.
> Yeah, except not every business is willing to wait 25 years for Rust to achieve parity with today's Java ecosystem.
Unfounded speculation. You've made this number up.
> Rust IDEs can't still offer completion that works all the time, let alone all the other IDE features
I didn't see any problems in IntelliJ. If there are cases where autocomplete doesn't work, these are rare edge cases and they don't affect predictivity. VSCode was a bit laggy, but that's probably VSCode problem not Rust's. This is what happens if you base a desktop tool on a browser running JS.
> Rust's has a big selling story for OS low level systems libraries
It is good at that, but this is not the primary reason to use Rust. Rust selling point are explicit lifetimes which make it virtually impossible to create pointer hell I found in every commercial Java codebase I worked on. It is the same level of productivity enhancement as introducing static types over dynamic. Explicit lifetimes make it a bit harder to write in Rust but code is being read 99% of time and written only 1% of time.
IDE support is already very good and better than for many popular languages (e.g. dynamic ones).
Performance profiling is also better than in Java. I'd take perf over visualvm any time.
Java had much worse tooling when it was at the age of Rust today.