If iPhone applications ran on a layer like the Dalvik VM or .NET, allowing reflection to do things like suspend and restore applications automagickly
While I'm not a professional Objective-C developer, I do know enough about the language to know that there's a whole lot of capability in there for reflection and dynamic tricks, which all depends on the Objective-C runtime. Figuring out how to introspect and dynamically freeze/restore a bunch of stuff that's just ARM machine code could well be a bit of a nightmare.
Not nearly enough metadata to do so at runtime reliably, not to mention that they allow C and C++ code which lacks any of this metadata. There is no way in which this makes sense.
While I'm not a professional Objective-C developer, I do know enough about the language to know that there's a whole lot of capability in there for reflection and dynamic tricks, which all depends on the Objective-C runtime. Figuring out how to introspect and dynamically freeze/restore a bunch of stuff that's just ARM machine code could well be a bit of a nightmare.