C# Poised To Overtake Java In TIOBE Index
Written by Mike James   
Wednesday, 18 October 2023

The October 2023 edition of the TIOBE Index reports that C# is getting closer to Java with the speculation that if the trend remains the same C# could surpass Java, which had until recently reigned as the TIOBE Index's top language, in about two months' time. 


While we don't take the TIOBE index too seriously, it is fun to follow the changes it records and on the whole it gives a picture that accords with other indicators of language popularity - i.e. it has reasonable face validity. It  was started in 2002 by Paul Jansen, CEO of TIOBE Software, as a personal hobby to see what languages were in demand is intended as an indicator of the popularity of programming languages. 

The special feature of the TIOBE index is a colourful chart showing the monthly ratings of the top languages. This is an interactive and using the legend at the bottom of the chart you can choose which of the languages to include. Here I've selected the top six which makes it possible to discern what is going on.

TIOBEIndex Oct23 

The purple line close to the X-axis is for JavaScript and stands out as being the most constant is JavaScript, which has had a share of between 1.15% and 4.02% over the history of the index. It is currently in it's top ever position - sixth. This is clearly an anomaly as in GitHub's rankings JavaScript has always been the top language and it also comes top in terms of the number of programming jobs. This may well have something to do with the fact that the TIOBE Index relies on the search:

+"<language> programming"

While languages like Java and C need to be qualified by "programming" to distinguish them from Java the country or C the letter of the alphabet, JavaScript refers only to a programming language and is also referred to as  EcmaScript, the standard for JavaScript, which isn't searched for.  

What is very clear from this chart is that in general languages go down in popularity more than they go up. This is certainly an artefact of the exercise which recognizes more and more languages over time, even though the bulk of those included have a rating of less than 0.5%. At the start the top languages had huge shares by today's standards. The top language, Java, had 26.49%, almost twice the share Python has now (14.82%). C, which then as now took second place, had 20.4% at the start  compared to 12.08% now.

So let's look at what's happening now with C# and Java. In his write up Paul Jansen writes:

The gap between C# and Java never has been so small. Currently, the difference is only 1.2%, and if the trends remain this way, C# will surpass Java in about 2 month's time. Java shows the largest decline of -3.92% and C# the largest gain of +3.29% of all programming languages (annually). 

As is clear from the chart Java's downward trend is stronger than C#'s upward one. It reveals that Java went from being the top language, the position it last held in March 2020 to 4th when C++ overtook it in March 2023 and its downward trajectory has continued since then. 

The two languages have always been used in similar domains and thus have been competitors for more than 2 decades now. Java's decline in popularity is mainly caused by Oracle's decision to introduce a paid license model after Java 8. Microsoft took the opposite approach with C#. In the past, C# could only be used as part of commercial tool Visual Studio. Nowadays, C# is free and open source and it's embraced by many developers. There are also other reasons for Java's decline. First of all, the Java language definition has not changed much the past few years and Kotlin, its fully compatible direct competitor, is easier to use and free of charge. 

It is worth noting that Kotlin, as we reported entered the top 20 a month ago and is now at #18, which is its highest ever position and has a rating of 0.96%.

So can we really expect C# to overtake Java? Almost certainly, but maybe not as quickly as within 2-3 months given the typical pattern for all languages is to experience reversals as shown by the zigzig nature of the curves.  

Overtaking Java will only put C# in 4th position, putting it is contention with C++ which is still on the rise. So what is the prospect for C to reach the top of the TIOBE Index?  

Turning the clock back almost three years we reported  Python Overtakes Java In TIOBE Index, something that had happened more quickly than anticipated. At the time C was the top language and the question was could Python make it to the top position and, yes, it did so within the year. So does C# stand any chance of achieving similar sucess?

The current situation with C# is a strange one. Now open-source yes, but not as much backed by Microsoft as it once was. It is a language that is cross-platform, but it lacks a good reliable and modern UI library. Put simply, there are too many ways of writing a desktop app under Windows and not enough under Linux. When it comes to web development the situation is better, but then again the number of different approaches that ASP .NET offers is confusing. If you want to use VS Code to develop your open source C# program then to get an easy to use set of tools you have to sell your soul to Microsoft and sign up for a Microsoft account. It is this last, recent, requirement that I think will make it hard for C# to gain much more ground - excellent language though it is.


More Information

TIOBE Index for October 2023

Related Articles

Kotlin Re-Enters TIOBE Index Top 20

Python Overtakes Java In TIOBE Index 

Python Trending To Top Spot In TIOBE Index

Made It - Python Is Top Language On TIOBE Index

C++ Experiences Comeback In TIOBE Index

Java Out of Top Three In TIOBE Index

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Redis Changes License, Rival Fork Launched

The developers of Redis have announced that they are changing the licensing model for the database. From now on, all future versions of Redis will be released with source-available licenses rather tha [ ... ]

Run WebAssembly Components Inside Node.js With Jco

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?

More News

raspberry pi books



or email your comment to: comments@i-programmer.info








Last Updated ( Wednesday, 18 October 2023 )