A-level Computing 2009/AQA/C Sharp

C# is a popular language

C# Myths
C# is now Microsoft Language of choice if you work on thick client (desktop applications) or Silverlight (their rich web solution).

The language has similar syntax to Java and has similar core class libraries supplied, Streams for an example. This allows developers to easily work on either platform. The language has addition constructs for Properties, over and above Java.

The MVVM design pattern is extensively supported by C#, which allows clear separation between UI and Business Logic for thick client (desktop) and Silverlight (web). Which also allows code to be re-used between desktop and Silverlight. This allows a declaration of UI controls to be cleanly bound to business data. This enables a graphics designer to work alongside/parallel to a developer of business logic.

C# is strongly typed/type safe, and thereby avoids common programming errors and reduces debug time as issues are resolved at compile time. This also allows C# to run in a sandbox.

The use of { and } to scope code blocks provides a very clean and simple visual display of code.

C# uses the CLR to perform automatic memory management with garbage collection and therefore does not have the memory management problems associated with C/C++.

An Embedded version of C# exists, but the processor will require considerable memory (relative to a typical embedded system) to support the CLR.

Underlying Windows libraries can be called if they are already not supported by the .NET library.

Online resources
Microsoft .NET Framework Application Development Foundation (70-536). Although now a old book is a good starting place for somebody starting out, as it writes the basics of file I/O (Streams), Exceptions, Regular Expressions, Collections, Graphics, Threading, Logging and Systems Management.