If I understand what you're saying, you're talking about emulators or virtual machines. These themselves are the compiled code. What they run is considered data by the OS. If there's an exploit in the code sent to the emulator/VM it will hit the emulator/VM. If it's compiled code having the executable page rewritable opens up the operating system to exploits.
I'm not saying that all executable pages must never be rewritable. I'm just saying that it should be avoided wherever possible. I believe most IDE's use an interpreter so it's the same as above.
Look at the wikipedia link for Executable Space Protection for more information.