An introduction to .NET would be incomplete without a mention of the new programming language C#, which is also described as the native language for .NET. This is because much of the .NET Framework itself was written in C#.
The C# programming language seems to have its roots in C++ and Java. The basic syntax comes from C++, where the everything-declared-in-one-place structure is inherited from Java. C# programmers can enjoy an easier life with fewer worries because, just like the Virtual Machine for Java, the .NET CLR can provide many features, including automatic memory management and garbage collection. We will use C# as the preferred language throughout this book, and you will learn more about it starting in Chapter 3.