Why Learn C#

This article is my personal opinion why one should learn C# language over others and how to get started with C#.

Why Learn C#

If you want to get into computer programming, C# is one of the easiest programming languages among them all. Here are the reasons why you should learn C#.

History of C#

C# language was created by Anders Hejlsberg at Microsoft and launched in 2000. C# is a simple, modern, flexible, object-oriented, safe, and open source programming language.
Anders Hejlsberg, the principal architect of C#, is known for his work with Borland on Turbo Pascal and Delphi. After leaving Borland, Hejlsberg worked at Microsoft on Visual J++ before C# was created. Andres is currently working on TypeScript.
CSharp Features 

C# is modern and easy to learn

A modern language is one that supports the latest features for developing scalable, reliable, and robust industry standard software applications. C# is a modern language. C# language supports everything modern programmers need in a language.

C# is an object–oriented language

It supports all the basic object-oriented language features including encapsulation, polymorphism, and inheritance.
Besides common data types, C# also supports modern complex data types and features such as partial classes, extension methods, anonymous types, lambda expressions, asynchronous programming, and tuples.

C# is easy to learn.

The language syntaxes are like C++, Java, and Pascal. The object model is like any popular programming language.

C# is safe

C# is a type safe language. All variables and classes in C# are a type, and all types are derived from the object, the object type, and are type safe.
Automatic memory management with the help of the garbage collector makes sure that program does not leak memory and automatically manages life cycles of objects and releases once objects are not required.

C# is versatile

C# is the most versatile programming language. Not only can you build Windows client applications, but you can also use C# to build Web and mobile apps.
C# can be used to build: 
  1. Windows client applications using Windows Forms, WPF and UWP.
  2. Web applications with ASP.NET and ASP.NET Core.
  3. Native iOS and Android mobile apps using Xamarin.
  4. Libraries, components, and console applications
  5. Cloud and Azure apps
  6. Blockchain apps
  7. Interoperability, data, and integration services 

C# is fast, open source, and cross platform

C# and .NET Core 3.0 are one of the fastest platforms among all software development platforms. C# compiler has been optimized from the ground up.
C# is an open source programming language. The language compiler is available on Github.

C# is evolving

C# language is one of the fastest evolving programming languages in the world. Unlike other programming languages, C# development is fully supported by a committed staff of Microsoft employees.
The current version of C# in build is C# 8.0. C# 7.x already had several advanced features added to the language.
Learn more C# 7.x features here

C# supports native mobile apps

Mobile developers can build native iOS, Android, and UWP apps using C# and Xamarin. Xamarin also supports Mac and Linux. C# Corner has close to 900 learning articles and tutorials on Xamarin. Check out Xamarin Learning Center on C# Corner. 

C# is friends with JavaScript

JavaScript is the most popular Web scripting language. C# extends JavaScript development via TypeScript. TypeScript is created by the creator of C#, Andres Hejlsberg.
TypeScript is a strongly-typed superset of JavaScript that allows developers to write normal JavaScript with advanced object oriented features such as classes, objects, and other advanced language features.

C# supports web browsers

C#, with the support of Web Assembly and Razor (Blazor), can run in a web browser. Blazor is a single page web app framework built on .NET that runs in the browser via WebAssembly, and is based on HTML, CSS, and other standard web technologies. Blazor makes heavy use of Razor, a markup syntax for HTML and C#. Browser + Razor = Blazor! A Blazor application can be deployed as a set of static files without the need for any .NET support on the server.

Amazing tooling support for C#

C# language is supported by some of the world’s most popular IDEs and editors. Visual Studio is the most popular, productive and advanced IDE for developers. Millions of developers use Visual Studio each day.
Open source code editor, Visual Studio Code is one of the most loved advanced code editors for software developers.
Check out Visual Studio 2017 Productivity tips to see how productive and advanced Visual Studio is.

C# has strong community support

Not only is C# language supported and maintained by Microsoft, but it also has a strong community support. More than 5 million developers use C# language. .NET Core and C# compiler are open source and the adoption is growing in open source community.
C# Corner is one of the largest developer communities for C# and .NET Developers with millions of visitors each month.

C# can do Machine Learning

Yes, that’s correct. According to a Github report, C# is one of the top languages for machine learning behind Python, C++, Java, and JavaScript. Microsoft has built a powerful .NET Core machine learning platform, ML.NET. ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers.
ML.NET allows .NET developers to develop their own models and infuse custom machine learning into their applications, using .NET, even without prior expertise in developing or tuning machine learning models.
Along with these ML capabilities, this first release of ML.NET also brings the first draft of .NET APIs for training models, using models for predictions, as well as the core components of this framework such as learning algorithms, transforms, and ML data structures.
ML.NET is available on Github: https://github.com/dotnet/machinelearning
TensorFlow is one of the most advanced framework for machine TensorFlowSharp is an open source library that allows an API to work with TensorFlow library using C#, F# and .NET. https://github.com/migueldeicaza/TensorFlowSharp 


C# programming language is one of the most versatile and modern programming languages in the world. Not only is C# easy to learn and adapt, C# also has good strong support from the community, as well as support from the most valuable company in the world, Microsoft.
C# can be used to write almost any type of software including console apps, back end services, mobile apps, windows apps, Websites, blockchains, AI, and cloud applications.
Here are a few recommended articles: 
If you’re interested in learning C#, start here: C# Tutorials