> The point here is that, until Rust came along, you had the choice between wildly risky (but fast) C and C++ code, or completely safe (but slow) garbage collected languages with heavy runtimes and significant deployment challenges.
Not really, I have been mostly coding in managed languages for the last couple of decades, and this has been not really true for quite some time.
Yes if we go down language benchmark games, they won't win every little micro benchmark, however for like 99% of commercial use cases, what they deliver is fast enough for project requirements in execution time, and hardware resources.
Now where they fail is in human perception and urban myths, of where they are suitable to be adopted.
Languages like Rust overcome this, with their type system approach to resource management, the naysayers have run out of excuses.
I think you are pointing out that garbage collected languages can be very fast, right? I agree about that, but it does fundamentally comes with some very big caveats.
There's a huge number of use cases that are perfectly served by GC languages, even where performance matters, but there's also a huge number that benefit from the extra boost and significantly lower memory usage of a compiled language.
There are plenty of compiled languages with GC, value types and low level programming capabilities, including playing with pointers C style.
D, C#, Nim, Swift, Go for mainstream examples.
If we dive into less successful attempts from the past,
Cedar, Modula-2+, Modula-3, Oberon, Oberon-2, Active Oberon, Component Pascal, Oberon-07, Spec#, System C# among plenty others that are probably listed on ACM SIGPLAN list of papers.
As for some commercial examples,
https://www.withsecure.com/en/solutions/innovative-security-...
https://dlang.org/blog/2018/12/04/interview-liran-zvibel-of-...
https://www.wildernesslabs.co/
https://www.astrobe.com/boards.htm