When generating / targeting native code then memory access, pooling, memory models and management will become very important. Since .net is used to bootstrap this can easily be forgotten or get the back seat. E.g. if you are trying to implement C/C++/Rust like schematics on Nitra.
Also in GC languages you might need to consider the GC schematics. E.g. Reference counted, mark and sweep, other GC schemes and algorithms. Especially when you are looking to generate / target the code to native. If you targeting a VM of course you use what the VM provides.
So you might need to pay special attention to portability issues. One of the main concern being this.
This again is relevant for the back end phase.
When generating / targeting native code then memory access, pooling, memory models and management will become very important. Since .net is used to bootstrap this can easily be forgotten or get the back seat. E.g. if you are trying to implement C/C++/Rust like schematics on Nitra.
Also in GC languages you might need to consider the GC schematics. E.g. Reference counted, mark and sweep, other GC schemes and algorithms. Especially when you are looking to generate / target the code to native. If you targeting a VM of course you use what the VM provides.
So you might need to pay special attention to portability issues. One of the main concern being this.