The concept of an Operating Environment (Run Time System) is generally traced back to Ada, which defined: an abstract interface to the underlying operating system, thread and task management, as well as mechanisms for monitoring, tuning, and performing dynamic memory management (all to protect against access to unallocated memory, buffer overflow errors, range violations, off-by-one errors, array access errors, and other detectable poor coding practices)1).
Another major advancement came with Java and the Java Virtual Machine (JVM), which added a Just-In-Time (JIT) compiler, virtual processor, and an interpreter2).
Microsoft later introduced the .NET framework, which runs on the Windows operating system. .Net includes Web Services, Web Forms, and Windows Forms in the Operating Environment3). Subsequently, Mono was introduced and is now sponsored by Microsoft in order to allow cross-operating system development and deployment of .Net applications. The Mono Framework is based on ECMA Standards for C# and the Common Language Runtime (CLR)4);