The C# Programming
language is an object-oriented language that is
aimed at enabling programmers to quickly build a
wide range of applications for the Microsoft .NET
platform. The goal of C# and the .NET platform is
to shorten development time by freeing the
developer from worrying about several low level
plumbing issues such as memory management, type
safety issues, building low level libraries, array
boundschecking , etc. thus allowing developers to
actually spend their time and energy working on
their application and business logic instead. As a
Java developer the previous sentence could be
described as "a short description of the Java
language and platform" if the words C# and the .NET
platform were replaced with words Java and the Java
platform.
What follows is an overview of similarities and
differences between the language features and
libraries of the C# and Java programming
languages.