The Curious Rise of C#
In the last year, C# is back. What’s driving the rise? The TIOBE Index, which is based on search traffic, and GitHub Octoverse, based on commits to public code repositories, both showed C# ticking up in usage. This article examines some of its popular uses.
Programming languages rise and fall in popularity as new languages are invented to solve new problems or respond to new use cases. Popular old languages never truly die off as long as their old applications are still deployed. COBOL, designed more than 60 years ago, is not only in wide use, but it’s even in demand as programmers are needed to maintain antiquated but functional systems. But declines in usage are usually permanent. Once a language begins to lose popularity, it’s unusual to see it make a comeback.
Nevertheless, that’s exactly what’s happening to C#. The TIOBE Index, which is based on search traffic, and GitHub Octoverse, based on commits to public code repositories, both showed C# ticking up in usage.
A challenge to Java
C# was launched by Microsoft 20 years ago as part of the .NET framework. It was Microsoft’s answer to Java both in form and function with the goal of keeping customers tied into Windows. C# rose in popularity rapidly, peaking in 2010-2012.
While it was never the most popular language with glitzy Silicon Valley startups, C# was adopted by banks, governments, and other large enterprises that were heavily invested in Microsoft’s ecosystem. After that peak, though, C# began to lose ground while challengers like Python, Ruby, and Node.js gained.
And yet, in the last year, C# is back. What’s driving the rise?
The transformation of Microsoft
One factor that might have previously limited C#’s reach is that it was primarily used in the closed-source .NET framework on Windows — it didn’t run on Linux. 2012 was a bad year for Microsoft, their new Windows 8 desktop operating system was unpopular, and the company represented the antithesis of open-source.
Microsoft, as a company, has completely changed. Giving up on walled gardens, MS has embraced the Open Source movement. As well as hiring some of the best developer advocates, promoting open-source projects and buying GitHub, Microsoft also created an open-source version of the .NET framework called .NET Core. Core runs on MacOS and Linux as well as Windows, making it a more versatile choice and a great alternative to Java for broad enterprise use. The Github project is one of the most active, with more than 60,000 contributors.
Further expanding the reach of .NET core is cloud support. Even serverless .NET is no longer tied to Microsoft’s excellent Azure cloud; users can run .NET serverless functions natively on Amazon Web Services too. All of this makes C# a great choice for new projects.
The right tools
C# is also a language with excellent tooling. Microsoft’s own Visual Studio IDE is in its element with C#. It’s consistently rated one on the top two IDEs according to StackOverflow’s yearly survey on development tools. Additional tools allow it to be written and debugged locally or in the cloud. Microsoft looks after its languages and supports a thriving community of third-party developer productivity tools.