The short and boring answer would be, yes. But I assume you're not here for a quick and boring answer, are you? You're probably
here because you are considering which language to learn in 2019. Or maybe you're a greenhorn and would like to dip your toes into
the vast waters of programming. Well in this article I'm going to try and convince you to give C# a try.
Just a few weeks ago we were figuratively blown away by some of Microsoft's announcements regarding windows, .NET and C#. Chief among them
- Fluid web framework that aims to make the web a more productive and interactive place
- Windows terminal inspired by it's linux counterparts, aims to improve developer efficiency
- a full linux kernel within Windows with WSL 2.0
- KEDA and event driven scaling extension for Kubernetes
- IOT Plug and Play does it need more hype than that?
- Machine learning for .NET named ML .NET 1.0
- and much much more
in short, it's an exciting time to be a .NET developer whether you already have a background in coding or you are just entering the field.
A world of opportunity career and otherwise awaits you.
C# has always been a favorite of game developers worldwide, and it strikes a good balance between performance, low level, oop and easy of coding
with some syntactic sugar gently sprinkled in 🥁 💥 . Now here's a fun statistic almost half the games are made using Unity 3D
opts for the language that sacrifices less performance, which would, of course, be C#.
With Unity 3D you can create anything from Mobile, PC, and even VR games. So if you're looking to make your future in game development
look no further than C#.
.NET has been a highly sought after skill for well over a decade now. Just a quick search for .NET jobs on Monster.com gives us a staggering
30155 Jobs Found. While average salary statistics show that C# developers are still amongst the highest paid developers out there.
So you shouldn't have too much trouble finding employment in the field nor will you go hungry or wanting.
Hate them or love them they are undoubtedly one of the largest and most successful companies in the tech world. One thing Microsoft
was always good at was making sure their development ecospace is of top quality. You can be sure that tools such as Visual Studio and Visual Studio code will
work effortlessly with your technology stack. You can also rest assured that the language and framework will be regularly updated and kept simple and concise for many years to come.
Since the release of .NET Core 1.0 Microsoft has been putting in a lot of work trying to open source as much of their stuff as possible.
With that finally came official support for Linux and OSX, which means you can now use official C# libraries on Linux or a MAC without having to
resort to using Mono. This means you can have the best of both worlds a fast and efficient Linux server with lighting fast C# running your websites, webapps or services.
speaking of which...
And I mean FAST, it still outperforms Java, NodeJS and most of the competition, the only languages that can boast about being more resource friendly and therefore fast would be
C, and C++. However, their speed and performance come at a price. In both of them, you have to take care of memory management and trash collection yourself. While C# has a built in trash collector that
Does a pretty damn good job of cleaning up after itself 🥁 💥.
Don't believe me observe:
Why do Java developers wear glasses
because they can't C#
By using Xamarin you can write fully native mobile applications for both Android and iPhone without having to support two different codebases.
This enables you to develop your mobile apps faster and more efficiently. The only thing you need to figure out now is how you're gonna spend all that extra time you'll have.
I heard the outdoors are supposed to be good for you.
With C# you can write anything from games, mobile apps with Xamarin, desktop applications, web applications, websites and webshops. There are only a few languages out there that are that multifunctional
and none of them is as clean and nice to look at as C#.