C# is intended to be the premier language for writing NGWS (Next Generation Windows Services)applications in the enterprise computing space." This chapter is about backing up that claim with arguments, and showcasing a slew of C#'s features. This chapter is about whetting your appetite.
The programming language C# derives from C and C++; however, it is modern, simple, entirely object-oriented, and type-safe. If you are a C/C++ programmer, your learning curve will be flat. Many C# statements are directly borrowed from your favorite language, including expressions and operators. If you don't look too closely at first, a C# program looks like a C++ program.
An important point about C# is that it is a modern programming language. It simplifies and modernizes C++ in the areas of classes, namespaces, method overloading, and exception handling. Much of the complexity of C++ was removed from C# to make it easier to use and less error prone.
Contributing to the ease of use is the elimination of certain features of C++: no more macros, no templates, and no multiple inheritance. The aforementioned features create more problems than they provide benefit—especially for enterprise developers.
New features for added convenience are strict type safety, versioning, garbage collection, and many more. All these features are targeted at developing component-oriented software. Although you don't have the sheer power of C++, you become more productive faster.
Before I get ahead of myself and present too many features, I want to stop and present the various elements of C# based on key points in the following sections: