C# was originally developed by Microsoft to build applications for the .NET Framework using a managed code compiler called Simple Managed C. It was later renamed to C# and became the main language used to develop applications for .NET. C# combines elements of C and C++ but is designed to be simpler, safer, and more scalable. It supports features like garbage collection and type safety. Some common applications of C# include developing desktop applications, Windows services, web applications, web services, and data access layers.