Recently, the C# version 4.0 was released, introducing significant new features, like dynamic typing, optional parameters and indexed properties.
C# is a managed programming language - this means that it is not compiled directly to native code, but rather to MSIL (Microsoft Intermediate Language) first, and then to the platform-specific native code. C# doesn't offer the same capabilities as native languages when it comes to portability, as applications developed with it will require the development framework to be installed. That can be either .NET Framework (developed and maintained by Microsoft) or the Mono Framework (developed and maintained by Novell). Note, that these two framework are not interchangeable - although the C# code is the same, library calls are different. That being said, C# is indeed a cross-platform language. It runs on Windows, Linux and Mac.
To get started, I recommend you starting with our C# tutorials.
I would also recommend checking out MSDN, that is the key point for developers using Microsoft tools.
If you have a background in C-like programming languages (like Java or C++) you will find the transition quite easy. If not, with a little bit of time on your hand you will be able to pick up the fundamentals.
Tools for you to get started (all are free):
- Microsoft Visual C# Express (2010)
- The Mono Framework
- MonoDevelop (IDE for Mono)
- SharpDevelop (mentioned by programble)
Ideas to get you started:
- An application that gets the desktop screenshot
- An application that can send an email message
- A small web-browser
- An application that draws shapes on the window
If you have questions, you can always ask those in our C# forum.
Let the challenge begin!