I've heard the term "beaten path" used for these languages, or languages that an organization chooses to use and forbids the use of others.
I don't completely get this. If you are memory requirements are strict, this makes little to no sense to me. I was programming J2ME games 20 years ago for Nokia devices. We were trying to fit games into 50-128kb RAM and all of this with Java of all the languages. No sane Java developer would have looked at that code without fainting - no dynamic allocations, everything was static, byte and char were the most common data types used. Images in the games were shaved, no headers, nothing. You really have to think it through if you got memory constraints on your target device.
So it’s not like we’re running on a machine with only kilobytes of RAM, but we do want to minimize our usage.
If you use vanilla rust with global alloc everywhere then you will get fragmentation
You have to use nightly for custom allocators and implementing allocators and using them is super annoying still.