The Common Language Runtime (CLR) provides computer programmers with a framework that allows programs to run under multiple computer environments. CLR is designed to be a working implementation of Microsoft's Common Language Infrastructure (CLI). It is one of the key elements of Microsoft's .NET Framework and provides programmers with an intermediate programming code.
Computer programs are made up of a series of machine code that instructs the Central Processing Unit (CPU) on what to do. The list of instructions that a specific CPU can understand is known as its instruction set. Different model CPUs have different instruction sets.
The computer's operating system clears up most of these issues. The operating system works to abstract the details of the computer so that programs can run on different types of computers. The specifics of how the operating system does this varies between operating systems.
This is where Common Language Runtime comes into effect. It provides another layer of abstraction that can allow programs to run on various operating systems and computers. This has a dual advantage. Not only does it mean that programs can run on different types of computer hardware, it also ensures that application programmers have more time to work on the features of their program.
Rather than having programs made into a series of CPU-specific instructions, the Common Language Infrastructure allows programs to be compiled into a series of instructions for a virtual CPU. These instructions are then used by the Common Language Runtime in order to run the program. This allows all of the CPU and operating system-specific changes to be made in the Common Language Runtime rather than in each individual computer program.
There are many advantages to using the Common Language Runtime. The most obvious advantage is that application programmers no longer have to worry about making their programs run on every computer. In addition, the CLR allows for a number of performance optimizations to be made that would otherwise be unavailable to the application. This enables programs to run much more efficiently than would otherwise be possible.
As of 2010, Microsoft's Common Language Runtime was only available on the Windows® platform. There are a number of CLI implementations that have been created by non-Microsoft groups that run on other operating systems. The use of the CLI allows programs to be made that will run on any computer and any operating system that supports it.