C# is a modern multi-purpose programming language, developed by Microsoft. It has a C-style syntax and is targeted to the Common Language Infrastructure. It was first released in 2000 and reprises Microsoft’s own vision of the “C with objects” concept. C# was developed with not only advanced but also embedded systems in mind. It allows a creation of lightweight, easy on resources applications and wide internationalization capabilities.
C# was developed as a part of .Net project and was sometimes criticized for being “Microsoft’s .Net Java-clone”, but the difference came even more obvious after C# 2.0 and especially LINQ extensions released with C# 3.0, that implemented strong functional-style programming support to the language. Programming research and development through the years showed benefits of using functional-style programming in various situations, and accommodations have been brought immediately.
Please refer to this (Comparison of C Sharp and Java) nice Wikipedia article for detailed analysis, and here are some of C# key features:
- Meta programming
- Methods and functions
- Memory access
- Functional programming
Since C# is by design the closest implementation of CLI principles, it fulfills the CTS (Common Type System) standard.
As long as C# runs on the CLR we can create revealing, cross-platform applications. It allows to build custom web solutions with any functional services a client wants it to be. Thanks to the variety of C# features, our developers work more productively delivering the same quality of programming.
As of now C# is the main programming language in Microsoft’s ecosystem. Grown from own views of distributed computing oriented language, after abandoning the use of Sun’s Java, C# has the best use of all the super-modern .Net features, and thus is Microsoft’s flagship. It is also the best in Microsoft .Net favorite language interoperability. All this makes C# the weapon of choice in most .Net, Portable.Net and Mono projects.