Alright, maybe I got a little ahead of myself… or maybe not…
I have been working with C# for over two years at Appacitive. And I have enjoyed it thoroughly. C# falls under the .Net umbrella and is primarily developed and maintained by the devil <read Microsoft>. But it does give one a lot of reasons to choose it over other open source alternatives like Java, Python, Ruby or even C++.
Although Microsoft intended for all .Net languages to run solely on Windows, we now have a open source version of .Net known as the Mono Project that runs on Linux.
The beast that is Visual Studio
Visual Studio is by far the greatest IDE on the planet. And I don’t intend on starting another editor wars, but I am talking from the perspective of elegance, feature set, ease-of-use, increasing developer efficiency and being a one stop shop for all kinds of development on the Microsoft platform.
It is quite similar to Eclipse, but a million times more refined. In fact, Eclipse, to me, feels like a toy compared to Visual Studio.
Multithreaded debugging, intellisense, source code analysis, source control integration are just a few of the mammoth list of goodies Visual Studio comprises of. Plus, if you really miss something, just build it for Visual Studio as an extension and make it available to everyone. Check out the great ReSharper and TDD plugins.
C# is both, statically typed and dynamically typed. Yes, you heard that right! Both! So you can leverage the goodness of type safety or collaborate with other dynamically typed languages like Ruby or JavaScript using C#. Win! Win!
Also, C# is object oriented and functional. Choose the way you want to wield it.
C# has an inbuilt garbage collector so you will never have to worry about memory leaks in your applications. (Okay.. maybe not never!)
C# is used in enterprise applications (WCF, Biztalk, Sharepoint etc.) ,low level device programming, game programming (XNA) and web programming (ASP.Net).
C# is used for Windows Phone development. Boo yeah! How many other languages do you know which offer you a growing market to sell and share mobile apps.(3 or 4 perhaps). Or for that matter, a gaming console, like the Xbox.
Agreed, Windows licenses can be a little much to justify, especially in a start up setting, but cloud vendors like AWS make Windows servers quite economically accessible and Microsoft has great partner programs for start ups and students that offer endless Microsoft goodies for free.
Please add your comments below. Thanks and happy hacking!