C# is an object-oriented programming language that is simple, modern and type-safe, derived from C and C++. It aims to combine the high productivity of Visual Basic with the power of C++. C# programs are typically written in .cs files and compiled to .exe files using the Visual Studio IDE and command line compiler. The language uses the .NET framework class library and supports value types that contain data and reference types that store references to objects.