Managed and Unmanaged Code Managed Languages made of assemblies (EXE and DLLs) containing code written in intermediate language (IL). This code is not machine code. When the application runs, the code is executed by the .NET runtime, which in turn executes the corresponding machine code. The code is managed by the .NET runtime. Managed code is typically slower than machine code, because of the additional layer between the code and the machine. However, the .NET framework offers many advantages over unmanaged code: · A huge number of built-in high level libraries. · Stable code has fewer errors · Errors will be found when you compile the application, instead of appearing at runtime. Traditional Windows Applications were (and still they are used somewhere) often programmed using a framework known as MCF (Microsoft Foundation Classes). In this framework code compiles directly to machine code, which is referred as low-level, and very near to machine code.