C# is similar to Java in terms of syntax; it is an object-oriented language from Microsoft that started around 1997. C# also known as C sharp is available to run on multiple platforms, such as Windows, UNIX, Linux and Solaris.
C# uses the Microsoft .NET framework and the Mono framework to be interpreted and translated into a language that is capable of running fast on any computer. C sharp is the third most popular language to be use with these frameworks and it is the most popular .NET language used today by .NET programmers.
Anders Hejlsberg was the lead architect and principal designer of C#, he was involved with the design of Turbo Pascal, Embarcadero Delphi and Visual J++ before the creation of C sharp. The design of C# was driven by flaws in most major programming languages such as C++, Java, Delphi and Smalltalk, according to Anders Hejlsberg.
C# however, was called an imitation of Java, by James Gosling, the creator of Java programming language and the co-founder of Microsystems Bill Joy, the originator of Java. Gosling went on to say that C# doesn’t have the reliability, productivity and security features that Java can offer programmers.
Anders Hejlsberg argues that C# is much closer to C++ in its design than to Java, but the authors of C++ Klaus Kreft and Angelika Langer claimed in a blog post that Java and C# are almost identical programming languages; they said that the language was a “boring repetition that lacks innovation," "Hardly anybody will claim that Java or C# are revolutionary programming languages that changed the way we write programs," and "C# borrowed a lot from Java”.
But C# language was intended to be a simple, modern, general-purpose, object-oriented programming language.
Software robustness, durability, and programmer productivity are important for this language to achieve. The originators of the language wanted the language, and implementations of it to provide support for software engineering by doing tasks that some languages require to be done with long processes such as doing uninitialized variables, and automatic garbage collection.
The language makes it easier for network wide deployments and reduces the amount of redundant code because it takes advantage of software maintained on the computer as building blocks.
Support for international languages is very important for C sharp as well, because hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions are intended to be suitable for writing applications with C#.
The language was not intended to compete directly on performance and size with C, C++ or assembly language, but C# applications are also intended to be economical with regard to memory and processing power requirements.