Actually, many people have been waiting long for such a language to come out, and are very excited about Rust for good reasons.
Managed languages solve a large set of problems, but introduce two big problems as I see it:
- Cause nondeterministic overhead which is particularly problematic for kernels, games, and software with heaps over, say, 10 gigabytes.
- Limit ability to safely pass objects outside their ecosystem. How many libraries written in managed code are worth using outside of the language they are written in?
I was just alluding to the fact that garbage collection runtimes are quite less than ideal if another system calls into them sporadically. It just doesn't fit well for software libraries intended to be language-agnostic.
I just jumped the gun, because many tend to think stronger typing that what C offers is a synonym for managed.
Regarding the interoperability, it really depends at what level OS, GC or RC services are available.
If just on the language runtime, yes it complicates the distribution of libraries. As it raises the issues how many copies of the runtime one gets and version compatibility issues.
If the OS offers the services, then any language on that specific OS, can enjoy exposing libraries that interoperate with GC or RC.
COM (now WinRT) is a possible example of such OS services.
Managed languages solve a large set of problems, but introduce two big problems as I see it:
- Cause nondeterministic overhead which is particularly problematic for kernels, games, and software with heaps over, say, 10 gigabytes.
- Limit ability to safely pass objects outside their ecosystem. How many libraries written in managed code are worth using outside of the language they are written in?