My renewed interest in c# after more than a decade of distance is correlated to learning about Xamarin, an impressive solution to fully native cross-platform iOS, Android and Universal Windows Platform (UWP) mobile development that builds on top of .Net Core. I will write about Xamarin in future posts.

According to the Standard ECMA-334 C# Language 4th edition (June 2006) specification C# is a.o. :

intended to be a simple, modern, general-purpose, object-oriented programming language. It supports strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection.

General purpose seems to be a good description. C# used to run on Windows and now with .Net Core it also runs on macOs and Linux.


Project Roslyn as part of the .Net Core refers to the compiler and the language implementation of C# (also VB to be more precise). In the previous versions there used to be a lot of Windows and Visual Studio specific code in the implementation. The new open source code is clean without those kind of OS and tools dependencies so now other IDEs are able to implement C# and benefit from the mentioned strong type checking, array bounds checking, detection of attempts to use uninitialized variables and so on.

For more on the state of C# I highly recommend to watch Mads Torgersen as he invites you to take another look at the language.

There is also a companion blog post

including the presentation Slides.

Learning C#

As an absolute beginner and if you have the time and patience visit Microsoft Virtual Academy for C# Fundamentals

If you are looking for an overview of main concepts to get you going, as I usually do, there is a Tour of the C# Language

Don’t expect that you need to know everything, C# is huge and while the term Googling Stackoverflow is meant as a pun and critique, C# does have one of the most popular communities on Stackoverflow.

So whatever question you might have, chances are it has already been asked and answered.

Other C# Use Cases

Did you know you could access the Google Cloud Platform in C#? You don’t have to believe me. The one and only Jon Skeet, author of C# in Depth and with over 18.000 posts on C# ranking on top of Stack Exchange is employed by Google to show you exactly that:

The bottom line is, even if C# might not be your most beloved programming language, it happens to be one of the most useful programming languages of all time. Thanks to .Net Core it runs on Windows, macOs and Linux. Thanks to roslyn it enables broad IDE support. It’s versatile utility helps you with the Microsoft Stack, by using Xamarin with native MacOS, iOS, watchOS, tvOS development and I didn’t even mention Unity.

Like what you read? Give alipasha a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.