CHAPTER 1 THE PHILOSOPHY OF .NET
Moreover, as you work through this text, you will quickly see that C# supports a number of features
traditionally found in various functional languages (e.g., LISP or Haskell) such as lambda expressions
and anonymous types. Furthermore, with the advent of LINQ (Language Integrated Query), C# supports
a number of constructs that make it quite unique in the programming landscape. Nevertheless, the bulk
of C# is indeed influenced by C-based languages.
Due to the fact that C# is a hybrid of numerous languages, the result is a product that is as
syntactically clean—if not cleaner—as Java, is about as simple as VB, and provides just about as much
power and flexibility as C++. Here is a partial list of core C# features that are found in all versions of the
language.
No pointers required! C# programs typically have no need for direct pointer
manipulation (although you are free to drop down to that level if absolutely
necessary, as shown in Chapter 11).
Automatic memory management through garbage collection. Given this, C# does
not support a delete keyword.
Formal syntactic constructs for classes, interfaces, structures, enumerations, and
delegates.
The C