8 reasons programmers should learn C# and .NET Core


Mark Price is a Microsoft Certified Trainer (MCT), former Microsoft Software Engineer and author. In this opinion piece, he looks at the reasons programmers should learn C# and .NET.

Once every decade or so, programmers have a window of opportunity to learn a new technology platform that completely changes the enterprise market. In the 1990s, it was Microsoft Visual Basic on Windows.

In the 2000s, it was .NET Framework and C# on Windows. In the 2010s, it’s been the two major mobile OSes – Android and iOS – and the two major cloud platforms – Amazon Web Services (AWS) and Microsoft Azure.

In 2017, Microsoft no longer controls the operating system. To deal with this, Microsoft have had to re-architect .NET to make it cross-platform, meaning that enterprise programmers can now break free from Windows and move quickly and productively to other OSes for their development needs.

Programmers can now learn a brand-new-but-familiar-feeling platform that will give them a strong foundation of skills that will be useful for the next decade.

So, why should programmers learn C# and .NET Core?

C# has been one of the top five most popular programming languages for the past decade, as well as being the main language that enterprises pay programmers to use to build serious applications.

Back in 2016, I delivered training courses on C# and .NET. During these courses, I noted how many of my students were recent Computer Science graduates who had been forced to learn Java and other academic languages like Haskell and Scala, but couldn’t find jobs that needed those skills in the real world. Their employers needed them to use C# and .NET.

Forget Java or AWS. These are the skills that are really in demand. Learning C# and the latest .NET Core platform means you will have the necessary skills to already be valuable to potential employers, instead of hoping to get a position with an employer willing to pay extra to train you up.

Here are my top eight reasons you must learn C# and .NET Core today:

1. Created by a Microsoft expert

C# was created by Anders Hejlsberg, a prominent programming language engineer who has co-designed multiple successful languages, like Turbo Pascal and Delphi.

He brought his experience and passion for languages to Microsoft as the lead architect behind C# and TypeScript. With almost 30 years of experience in designing programming languages, your work is guaranteed to be safe in Hejlsberg’s hands.

2. Designed to actually work

C# does language features properly, being well-designed and well-implemented. From generics to asynchronous support, from LINQ to tuples, C# thoughtfully incorporates the latest thinking in programming languages without overloading the syntax with weird bits and clumsy hacks.

3. Absolute transparency

.NET Core and the C# compiler are open source. Microsoft recognise that the best way to provide a cross-platform developer stack is to build in a collaborative manner by open sourcing it.

This allows transparency and engagement with customers in real time. This timely feedback makes the C# and .NET Core stack some of the best tools available for a reliable and agile response.

4.You have the best IDEs

In my opinion, C# and .NET Core have the best interactive development environments (IDEs). Visual Studio 2017 has every feature you could possibly want, including extensions created by great third parties like ReSharper, and Visual Studio Code, which is light-weight, super-fast, and cross-platform.

5.You can do everything

C# and .NET are extremely productive and versatile for creating any type of application. From mobile apps running on Android and iOS, to web sites and services running in the cloud, C# and .NET are tools that are dexterous enough to be used for a variety of projects.

Plus, the base class libraries are rich in functionality, and are well-supported by third parties like JSON.NET.

6.C# will give you the skills

C# syntax is very like other C-type languages, including C, C++, Objective-C, Swift, Java, and JavaScript. Learn one and you are halfway to learning the others already.

In my opinion, every programmer should be fluent in at least one C-type language.

7. Better support

How many people use a language matters. Why? Because the larger a language’s community is, the better supported you will be.

C# and .NET have a strong ecosystem going back 15 years. C#, .NET, and the IDEs are better supported by third party class libraries and tools, all of which will help you to build better.

8.The future is yours

The future of C# is bright. Statistics show that C# continues to be one of the most popular languages with developers – 4th most popular, in fact, according the the Stack Overflow Developer Survey 2017.

The most recent iteration of the language shows that we can expect more complex features to be continue to be added to C#. For example, C# 7.0 added integrated support for pattern matching to help create branching logic based on arbitrary types and values, and tuples, for unnamed types that contain multiple public fields.

As virtual reality continues to be a hot topic in the world of programming, C# is likely to stay as relevant as ever thanks to its key role in Unity.

C# and .NET might have first come onto the scene over 15 years ago, but in my opinion, they remain some of the most vital tools a programmer needs to know today.

They’ve been around long enough so that there’s a wealth of knowledge and resources available for each, but each propagation proves time and time again their ability to evolve and be the tools that employees need to stay relevant in an ever-changing market.

If you’re a graduate hoping to be invaluable to a future employer, or an old hat who’s looking to revisit and refresh your skill set, make C# and .NET your strength and you will be well equipped to take on the industry demands of the next 10 years.

What programming language are you comfortable with and why? Let us know in the comments section below.