Why C# is (one of) my favorite language?

My first approach with C# was when I was studying my career; a guy from Microsoft came to my school to do a chat about C# technologies and one of them was Windows Phone. So I started to learn C# and create Windows Phone apps (I won a Nokia for that 🙂 ).

After one year, I started to create C# videos on YouTube and was a popular channel in its time, now is abandoned, but I received very good comments about that course in YouTube, even of teachers that send their students to watch that videos.

For some reasons, when I started my life as a professional developer I left C# and started to write apps for iOS, Python, Elixir, etc. But sometimes I had to write C# code for fixing some apps or for a job but just for 1 or 2 months. Whenever I got back to C# I feel very comfortable with the language, is like to return home.

Today, I want to write why C# is one of my favorite languages and why I think that is a great language to work with

Is easy to learn

Despite Python is the option to learn as the first language, I think that C# is better to understand the “low level” programming without the complexity of C or C++.

Learn C# is not as complicated as other thinks, and because is very influenced by C and C++, once that you learned, you can change to another language very easy (I am able to read C++ code without even touched).

It is in a line between the old and the modern

When you write C#, you have to deal with “old” for style or creating arrays with a fixed length. But you can create lambdas expressions, you have access to foreach to go through a list, the string manipulation is very powerful etc.

With C# you have the option to be traditional or write code with the more advanced features.

Is very versatile

In recent years, C# has become in an all-terrain language. You can write Windows Apps, iOS apps, Android, IoT, web sites, run in Arduino, even run in Linux.

You can write games with Unity, MonoGame, Xenco and use it with Machine Learning.

Thanks to its open source we can expect a lot of implementations, and if you learn C# you can use almost as you only language (I do not recommend this but is possible)

Microsoft Documentation

I think that there is no better documentation than Microsoft Developer Site. Other pages like Apple Developer or Django are close but I feel that is not as extensive or comprehensive as Microsoft Docs.

I learned a lot (and I still doing) only reading the Microsoft site and I found that my problem was resolved without touch StackOverflow.

It is not Java

Ok, this is not a valid reason(?)

Well, that is a list of why C# is a language that I think deserve more love of the community.

Do you like or dislike?