«^»
3.3. Why C#?

The WWW page http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsent7/html/vxconProgrammingLanguages.asp gives Microsoft's view of the role of various programming languages in the .NET Framework. Here is what they say about C#:

‘Visual C# (pronounced C sharp) is designed to be a fast and easy way to create .NET applications, including Web services and ASP.NET Web applications. Applications written in Visual C# are built on the services of the common language runtime and take full advantage of the .NET Framework.’

‘C# is a simple, elegant, type-safe, object-oriented language recently developed by Microsoft for building a wide range of applications. Anyone familiar with C and similar languages will find few problems in adapting to C#. C# is designed to bring rapid development to the C# programmer without sacrificing the power and control that are a hallmark of C and C#. Because of this heritage, C# has a high degree of fidelity with C and C#, and developers familiar with these languages can quickly become productive in C#. C# provides intrinsic code trust mechanisms for a high level of security, garbage collection, and type safety. C# supports single inheritance and creates Microsoft intermediate language (MSIL) as input to native code compilers.’

‘C# is fully integrated with the .NET Framework and the common language runtime, which together provide language interoperability, garbage collection, enhanced security, and improved versioning support. C# simplifies and modernizes some of the more complex aspects of C and C#, notably namespaces, classes, enumerations, overloading, and structured exception handling. C# also eliminates C and C# features such as macros, multiple inheritance, and virtual base classes. For current C++ developers, C# provides a powerful, high-productivity language alternative.’

Andy McMullan's 'C# Frequently Asked Questions for C++ programmers' says:

‘C# is a programming language designed by Microsoft. It is loosely based on C/C++, and bears a striking similarity to Java in many ways.’

The WWW page http://genamics.com/developer/csharp_comparative.htm contains a paper by Ben Albahari entitled 'A Comparative Overview of C#'. In the conclusion to this paper, he says:

‘Overall, I believe C# provides greater expressiveness and is more suited to writing performance-critical code than Java, while sharing Java's elegance and simplicity, which makes both much more appealing than C++.’