C# (pronounced Csharp) is a new programming language introduced by Microsoft with the Microsoft.NET framework. C# was first created in the late 1990’s as part of Microsoft’s.NET strategy. It is a new language free of backward compatibility and a bunch of new, exciting and promising features.
It is an Object Oriented Programming language, which at its core, and has similarities with Java, C++, and VB. The main brains behind C# were Anders Hejlsberg and Scott Wiltamuth. However, many other personalities like Rob Howard, Scott Guthrie were also involved behind C# and the.NET Framework.
In fact, C# combines the power & efficiency of C++, simple & clean Object Oriented design of Java, and code simplification of Visual Basic. Like Java, C# also does not allow multiple inheritances and use of pointers (in safe and managed code) while it does provide garbage memory collection at runtime, type and memory access checking.
But, contrary to Java, C# keeps the different useful concepts of C++ like operator overloading, enumerations, pre-processor directives, pointers (in unmanaged and un-safe code), function pointers (in the form of delegates), also promises to have template support (in the form of generics) in next versions. Like VB it also supports the concepts of properties (context sensitive accessor to fields).
In addition to this, C# comes up with some new/exciting features like reflections, attributes, marshalling, remoting, threads, streams, data access with ADO.NET, etc. C# programming language is designed from the scratch keeping in mind the Microsoft.Net environment. MS.Net (and thus C#) programs runs on top of the Common Language Runtime (CLR), which provides the runtime support to them.
C# has been standardized by ECMA (European Computer Manufactures Association)
Microsoft originally released beta versions of .NET framework to get feedback about the product from developers and customers. Based on the feedback, received from them for the first beta, Microsoft released second beta in early 2001. Finally, they released final versions of C# under the name, .NET Framework 1.0 in 2002 and that of 1.1 in 2003.With each release, the product shipped with improved features for developing secured and scalable applications along with high quality documentation. Like C++ and Java, C# is an object oriented programming language. In fact all .NET languages are object oriented since they all have the .NET Framework built into them.