1. A method for protecting computer programs from inconsistent run-time conditions, comprising: running a first application program on a software platform; providing the first application program with a first run-time environment and a first set of services configured to the first application program; running a second application program on the same software platform as the first application program; providing the second application program with a second run-time environment and a second set of services configured to the second application program; wherein the first run-time environment and first set of services are different from the second run-time environment and second set of services, respectively, thereby providing the first and second application programs with different operating contexts within the same software platform.