|
|
The C# language is disarmingly simple, with only about 80 keywords
and a dozen built-in datatypes, but C# is highly expressive when it
comes to implementing modern programming concepts. C# includes all the
support for structured, component-based, object-oriented programming
that one expects of a modern language built on the shoulders of C++ and
Java.
Java Programmers may look at C# with a mixture of trepidation, glee, and resentment. It has been suggested that C# is somehow a "rip-off" of Java. I won't comment on the religious war between Microsoft and the "anyone but Microsoft" crowd except to acknowledge that C# certainly learned a great deal from Java. But then Java learned a great deal from C++, which owed its syntax to C, which in turn was built on lessons learned in other languages. We all stand on the shoulders of giants.
The premise of the .NET Framework is that all languages are created
equal. To paraphrase George Orwell, however, some languages are more
equal than others. C# is an excellent language for .NET development.
You will find it is an extremely versatile, robust and welldesigned
language. It is also currently the language most often used in articles
and tutorials about .NET programming.
While it is possible to program in .NET with C++, it isn't easy or
natural. Frankly, having worked for ten years as a C++ programmer and
written a dozen books on the subject, I'd rather have my teeth drilled
than work with managed C++. Perhaps it is just that C# is so much
friendlier. In any case, once I saw C#, I never looked back.
|
|