Senior full stack developer and CTO at Ideamotive.
Programming languages are like wine – some turn to vinegar, but the best improve with age.
As we progress into 2023, C# remains a prominent and widely utilized programming language, even two decades after its inception. Developed by Microsoft, C# (also stylized as C Sharp) has established itself as a versatile language within the Microsoft ecosystem. Its creation stemmed from Microsoft's decision to develop their own language after encountering restrictions from Sun Microsystems (later acquired by Oracle) regarding modifications to the Java programming language. This led Microsoft to forge its own path, resulting in the birth of C# as a powerful and popular programming language.
From the ground up, C# was designed with simplicity and readability in mind. C# was inspired by Java, C, and C++. By integrating incipient concepts such as value types, properties, and events, the programmers took their best components and innovated further. C# was released alongside Microsoft Visual Studio, where programmers could build their Windows-based software.
It’s a popular opinion that C# was supposed to be just a clone of Java. However, starting from version 2.0, C# moved in a different direction and much faster. For instance, lambda expressions were years ahead of Java.
C# quickly won the hearts and minds of developers. It is a very mature language that evolved significantly over the years. Microsoft had built C# only for Windows applications. But now it’s used for the console, android, ios, and machine learning software.
C# is one of the most popular programming languages, along with Ruby on Rails and Java. We looked through development and market data that may prove useful in your future programming endeavors. In this article, we’ll assess the current state of C#, walk you through C# trends, and determine the main directions for C# in 2023.
What is C# used for?
With C#, you can maximize the return of investment because it could be employed to create almost any kind of app. As a general-purpose language, C# allows you to build:
While C# is remarkably versatile, mobile apps written in C# include Slack, Insightly, Pinterest, Tableau, The World Bank, Cinemark, NBCUniversal, FoxSports, Aviva, and Taxfyle. Windows apps that leverage the advantages of C# include Microsoft Office (Word, PowerPoint, Excel), Internet Explorer, Skype, Visual Studio 2012, Photoshop, SQL Server 2012, and Paintbrush.
Here are examples that demonstrate the language’s reliability:
C# is particularly powerful for building Windows desktop applications.
C# continues to be a natural choice of both smaller companies and global corporations. Some of the biggest names in tech have been created using C#, including Adobe Photoshop, Mozilla Firefox, MySQL Server, and Thunderbird.
Popular C# frameworks and libraries
You get a lot of reusable libraries and frameworks available at your fingertips as soon as you adopt C#. These two concepts are important but sometimes confusing.
C# was not designed in isolation but as part of the overall .NET framework project. In the beginning, C# was exclusively reserved for Windows developers because the .NET framework was tightly coupled with the Microsoft operating system. But this is no longer the case. In November 2020, .NET and .NET Core converged in .NET 5 which can run on multiple operating systems including Linux and Mac.
Blazor is the latest addition to the .NET technologies and probably one of the most exciting. A web assembly compiled version of a trimmed .NET runtime is used to run your C# code natively directly in any browser.
With Xamarin, you can build programs and apps in C# for operating systems such as iOS, Android, macOS, and Linux.
NuGet is the de-facto package manager for .NET. It provides 232K+ unique packages instantly available to be consumed inside your C# applications.
C# has a rich class of libraries that make many functions easy to be implemented. The Base Class Library provided by the .NET framework is a massive help in the hands of C# developers.
C# in 2023 can tap on a vast collection of types to implement the most common tasks like using the file system, sending and receiving data over the network, performing math and crypto operations, and much more.
The current version of C#
Like all programming languages, C# continues to evolve. Over the years, C# has not lost its readability while adding more concise structures and tools. Microsoft is developing it following four key strategy guidelines:
We will keep growing C# to meet the evolving needs of developers and remain a state-of-the-art programming language.
We will innovate aggressively while being very careful to stay within the spirit of the language.
We will prefer language and performance improvements that benefit all or most developers.
We will continue to empower the broader ecosystem and grow its role in C#'s future while maintaining strong stewardship of design decisions to ensure continued coherence.
C# 9 was released in 2020. It continues three of the themes from previous releases: removing ceremony, separating data from algorithms, and providing more patterns in more places. Concepts such as records, with-expressions, improved patterns matching, improved target typing, and covariant returns were introduced.
There’s a separate GitHub repository for the development of C#. According to C# development leaders, there’s a vast amount of feedback to be analyzed and taken into account. Everyone can propose new features by creating issues on the official C# Github page. All notes from official design meetings are publicly shared with the community.
"C# 9.0 is trying to take some next steps for C# in making it easier to deal with data that comes over the wire, and to express the right semantics for data, if you will, that comes out of what we call an object-oriented paradigm originally," says Mads Torgersen, lead designer for the C# programming language & a program manager on the .NET team at Microsoft.
State of C# in 2023
Every year, we see how the ranking of programming languages fluctuates. Will C# be still popular in 2023?
For many years, C# is holding a good position in almost every index. Looking at the data provided in the "Developer Economics: State of the Developer Nation, 20th Edition," report, we can see that C# in 2021 has ticked up a notch in popularity, overtaking PHP.
"C# lost three places in the rankings of language communities between Q3 2019 and Q3 2020, but it regained its lead over PHP in the past six months after adding half a million developers," the report states.
C# is ranked 5th on the TIOBE index for July 2021. The TIOBE Programming Community index is an indicator of the popularity of programming languages. The ratings are based on the number of skilled engineers worldwide, courses, and third-party vendors.
C# is one of the fastest-evolving programming languages. C# 9 which was released in 2020, introduced significant improvements to support modern workloads and application types. The code in the latest version of C# is much cleaner than the previous ones.
According to Stack Overflow Developer Survey 2021, C# is used by 29.81% of professional developers.
It’s worth paying special attention to C#, whether you choose a tech stack for a project or a career path. In the following video, C# experts describe the forces that influence and shape the future of programming languages and explain how they fit into C#:
But how much do C# programmers in the United States? C# jobs are abundant and pay well. According to www.salary.com, the average C# programmer salary is $105,188 as of July 28, 2021, but the salary range typically falls between $92,060 and $116,176.
Is C# a good choice?
Let’s look at some of the advantages and disadvantages of C#:
Why C# is the preferred programming language for building games? C# is one of the most popular programming languages which is used to create games with the Unity game engine, the most popular game engine today. More than a third of top games are made with Unity, and there are approximately 770 million active users of games.
To wrap up
C# language can be used to build all kinds of software targeting desktop, web, mobile, gaming consoles, TVs, Internet of things, and cloud applications. It is arguably the best option if you want to build a pure Windows app. Because of this, it's really big in the enterprise world – software that runs inside large corporations.
Why use C#? C#’s main selling point is the ease of use and ability to speed up development. For example, if you need to code a calculator program, it could take several hours to over a day with C++. With C#, it’ll take about 30 minutes. C# pre-writes all the boiler-plate code, so you can skip all the boring things and get straight to coding the actual program. That is the power of C#.
Why not use C#? Some programmers refuse to use C#, with complaints of it being too slow, not allowing access to the computer’s hardware, and being tied to Microsoft’s .NET framework.
However, C# is in high demand in top software companies around the world. And with extensive support from Microsoft and an active community, C# is bound to continue being an important player in the market.
Dawid is a full stack developer experienced in creating Ruby on Rails and React Native apps from naught to implementation. Technological superhero, delivering amazing solutions for our clients and helping them grow.