C# is a programming language designed by Microsoft that aims to be a modern object-oriented programming language. It has strong type detection, automatic garbage collection, and is intended to be used in developing software components. It was started by a team under Anders Hejlsberg in 1999, originally called “Cool”. C# has been called similar to Java, but since C# 2.0 released in 2005, the two languages evolved in increasingly different directions. C# is a compiled language. Some of the C# library is open source, but Microsoft is still working on making more of it more open source.