Trying to figure out what programming language to learn can be very daunting. There are literally millions of articles all across the internet that will tell you which programming language to learn based on popularity, income potential, etc. In this post I’m going to make some of those arguments as well as a host of others to give you my perspective on why you need to learn C# now!
When it comes to learning your first, or even you next new, programming language, C# doesn’t very often seem to come out on the top of the list. This is very sad and concerning to me because of all the positive reasons why you should at least consider it in your top 3. So consider this my soap box moment to make my best case to convince you to learn C#.
Get ready to take some notes, because here comes my top 6 reasons that I believe you should learn C#.
One of the Most Used Programming Languages
It’s incredibly hard to actually determine with any sort of accuracy what the “most used” programming languages are across the globe. You can actually find any sort of studies on the internet to try to slant the statistics in your favor for your chosen programming language.
Instead of trying to find the studies that will put C# at the top, I’m going to go with one that will illustrate that it is a very popular language with a thriving, supportive community. Anytime you start talking about both of those topics, StackOverflow comes to mind right away.
In their 2018 insights survey, StackOverflow placed C# as the #8 most popular technology. This is a very respectable position, especially because it comes from StackOverflow.
If you are unfamiliar with StackOverflow, it is the quintessential website where people go to ask other people how to solve technical and programming questions. So if it is ranking in the top 10 on this type of a website, that means that there is a lot of people using the language, asking questions, and getting answers to their problems. This will be very important as you begin to run into issues on your programming journey. And believe me, this will happen.
High Demand for Employment
If you are interested in finding any sort of employment in software development, C# is never a bad way to go. If you search around the internet for C# jobs on just about any of the popular job search engines, you are going to find more than your fair share.
For example, if you were to head over to one of the more popular job finding sites on the internet, Indeed.com, and search for C#, you will find tens of thousands of jobs across the United States. At the time of this post, there are nearly 33,000 jobs that mention C# as a necessary programming language.
Even if you aren’t out to find an official full time, part time, or contracting job, as you can see there is definitely a high demand for people, including yourself, to learn C#.
The Pay is Good
Now let me just get this out of the way. I firmly believe, that you should almost never do something solely for the money. If money is your only motivation for doing, or learning, something, eventually you are going to run into an issue that is going to stress you out and tip you to the breaking point. When that happens, the passion and desire to do that thing is the only thing that is going to help you to succeed. If your only desire is the money, you will quit at the first sign of trouble and go onto the next “quick fix”.
Even though I’m not a big fan of doing things for the money, you can’t deny that jobs around C# pay well. At the time of this post, if you were to do a search for C# .NET Developer on Glassdoor, you will find that the average salary, based on people that have input their data, is > $90,000 a year.
Just to give you a quick update to this point, we are talking about a highly used language with a strong support community, in high demand for jobs that pays REALLY well.
Where to go from here???
Only up, my friends.
Sure, you can absolutely go to some learning websites and start copying code into an “online editor” that will “check” your code. But let’s be honest, that will only get you so far. In order to really start to learn a programming language, you have to jump in a get your hands dirty with the real thing.
That is where the tooling comes into play.
You can definitely learn C# by opening up a standard built in text editor and start banging out code. At a certain point, I would even recommend that. But why sweat through that out of the gate, when the tooling is second to none.
When it comes to tools to learn C#, more often than not, you are going to run into Visual Studio and Visual Studio Code.
Visual Studio, and Visual Studio for Mac, are what are known as full Integrated Development Environments (IDE). These are large programs built with developers in mind to create, build, debug, and deploy code from one centralized tool. These are great if are in a full time development situation.
If you don’t want to go with the entire kitchen sink, like Visual Studio, but still want a great code editor that is a little more lightweight and flexible, Visual Studio Code, is the tool for you.
Visual Studio Code
Visual Studio Code is what is know as a code editor. That basically means it is a souped up text editor that “knows” about writing code and programming languages. It is flexible enough to help you write some basic documents as well as write full-fledged applications that can run your business. And everything in between.
Both of these tools are great, but there is a particular feature built into both, that will be especially helpful for you when you are getting started…Intellisense.
Intellisense will “watch” what you are typing and give you suggestions on what you are trying to do. So if you don’t know the name of a method or can’t remember a variable name, Intellisense will come to the rescue and not only show you what it “thinks” you want to do, but also give you a bunch of other suggestions based on what you are typing and the context in which you are typing it.
When you start to learn how to program, you are quickly going to learn that one of the most frustrating things is having to repeat yourself. Well, actually your code. Let’s say that you write a program that you run on your Windows computer and you, or a friend, get a Mac and want to utilize the application that you have written.
In most cases, you will need to find another language that is compatible on that other platform, learn how to use it, practice it, and try to repeat that application.
In many cases, if you learn C#, that isn’t a problem.
Thanks to a recent enhancement to the .NET Framework, what C# applications run on, know as .NET Core, many C# applications can be written once, and then run on several different platforms including Windows, Mac OSX, several Linux distributions, iOS, Android, etc.
Even if your entire application can’t be run across these different platforms as is, you can definitely write them in such a way that you will be able to get good reuse of parts of them so you don’t have to redo the entire applications.
Create Any Type of Application You Want
This is, by far, my favorite feature of writing code in C# and the .NET Framework. Using the cross platform capabilities, when it comes to writing an application, you are only limited by your imagination. You can write any type of application that you want, including the following:
- Desktop applications
- Mobile Applications (iOS, Android, Windows Mobile)
- IOT (Internet of Things – programming machines and robots)
- Game (Mobile, Cloud-based, PC, XBox, Playstation, Nintendo Switch, etc)
Whatever your passion or interest is as far as the type of application you want to write is, C# has you covered.
I hope that you can see based on all the information found in this post, that you really can’t go wrong if you learn C#.
I don’t want you to think that I’m trying to sway you one way or another based on the fact that I create C# learning content, that this is the only language you should learn. That definitely isn’t the case. I felt as though it was time to give a fresh perspective and a vote for C# to be the next language that you learn.
Remember, regardless your goals, C# has a little bit of everything. By learning C# you are opening yourself up to a slew of opportunities including, but not limited to, the following:
- Employment (full-time, part-time, contracting, etc)
- A healthy increase in compensation
- Tooling that helps teach you the language
- The ability to create applications that run across multiple platforms
- A wide range of application types that you can build
And don’t forget that when you choose to learn C#, you are joining a very large and supportive community of developers that active and available to help with whatever problems you run into at a moments notice.
If you can think of any other reasons that I have forgotten, or have a question, or need clarification on any of these points, please leave a comment below.
Interested in learning more? Checkout these posts to get some hands on training with C#: