> Sure, that makes sense, but you can write a compiler in languages that don't require it themselves.
I don't follow your rationale. With C the developer manages heap memory by basically calling malloc and free.
This means that once you have the memory model set, all you need to do to roll your compiler is to implement the interface.
A language that "don't require it themselves" is a language which provides only high level constructs and dumps all the memory management logic to the compiler/runtime, from object allocation/deallocation to lifetime management.
How is that simpler to pull off by a compiler writer?
The target language generally has nothing to do with the language of the compiler, where automatic memory management is just as useful (and also helps to minimize the amount of unrelated technical detail) as anywhere else.
I don't follow your rationale. With C the developer manages heap memory by basically calling malloc and free.
This means that once you have the memory model set, all you need to do to roll your compiler is to implement the interface.
A language that "don't require it themselves" is a language which provides only high level constructs and dumps all the memory management logic to the compiler/runtime, from object allocation/deallocation to lifetime management.
How is that simpler to pull off by a compiler writer?