C# is an object-oriented programming language that was introduced by Microsoft in 2000. It allows developers to build reusable components for a variety of application types. C# code is compiled into an intermediate language (IL) that is then just-in-time compiled and executed by the .NET Common Language Runtime (CLR). The CLR handles memory management, garbage collection, and other services so developers do not have to write that code. Because C# relies on the CLR, it has access to the .NET Framework Class Library which includes tens of thousands of reusable objects. This allows C# to be used for desktop applications, web applications, web services, databases and more.