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
Because you can and because you want to! You can because C# runs great on Mac, Linux, Android, and iOS (oh, and Windows…realm.io
including the presentation Slides.
As an absolute beginner and if you have the time and patience visit Microsoft Virtual Academy for C# Fundamentals
Learn C# programming from an expert in the industry. Get the tools, see how to write code, debug features, explore…mva.microsoft.com
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.
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.