Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Programming Java

Could C# Overtake Java in TIOBE's Programming Language Popularity Rankings? (techrepublic.com) 81

It's been trying to measure the popularity of programming languages since 2000 using metrics like the number of engineers, courses, and third-party vendors. And "The November 2025 TIOBE Index brings another twist below Python's familiar lead," writes TechRepublic. "C solidifies its position as runner-up, C++ and Java lose some ground, and C# moves sharply upward, narrowing the gap with Java to less than a percentage point..."

TIO CEO Paul Jansen said this month that "Instead of Python, programming language C# is now the fastest rising language," How did C# achieve this? Java and C# are battling for a long time in the same areas. Right now it seems like C# has removed every reason why not to use C# instead of Java: it is cross platform nowadays, it is open source and it contains all new language features a developer wants. While the financial world is still dominated by Java, all other terrains show equal shares between Java and C#. Besides this, Microsoft is going strong and C# is still their most backed programming language.

Interesting note: C# has never been higher than Java in the TIOBE index. Currently the difference between the two rivals is less than 1%. There are exciting times ahead of us. Is C# going to surpass Java for the first time in the TIOBE index history?

"The fact that C# has been in the news for the successive betas and pre-release candidates prior to the release of C# 14 may have bumped up its percentage share in the last few months," notes a post on the site i-Programmer. But they also point out that by TIOBE's reckoning, Java — having been overtaken by Python in 2021 — "has been in decline ever since."

TechRepublic summarizes the rest of the Top Ten: JavaScript stays in sixth place at 3.42%, and Visual Basic edges up to seventh with 3.31%. Delphi/Object Pascal nudges upward to eighth at 2.06%, while Perl returns to the top 10 in ninth at 1.84% after a sharp year-over-year climb. SQL rounds out the list at tenth with 1.80%, maintaining a foothold that shows the enduring centrality of relational databases. Go, which held eighth place in October, slips out of the top 10 entirely.
Here's how TIOBE's methodology ranks programming language popularity in November:
  1. Python
  2. C
  3. C++
  4. Java
  5. C#
  6. JavaScript
  7. Visual Basic
  8. Delphi/Object Pascal
  9. Perl
  10. SQL

Could C# Overtake Java in TIOBE's Programming Language Popularity Rankings?

Comments Filter:
  • by sonamchauhan ( 587356 ) <sonamc@@@gmail...com> on Sunday November 16, 2025 @01:50AM (#65798373) Journal

    As time goes by, I hope programming editors and IDEs start doing language translation via AI.

    Say, someone needs to edit a C program but is not very skilled in it. They could use their favourite language (say, C#), to quasi-edit the source program (which would be presented as C# to them). C# code changes would be auto-translated to C in a manner that fits the source codebase's conventions. Aspects of the C program that have no C# equivalent could summarised and edited by AI dialog.

    I wonder how TIOBE would measure this sort of work. As activity in the source language (C)? Editing language (C#)? Or both?

    • You can do this today. You can also write natural language to the same effect. I get the sense you've never used AI for programming.

    • by vadim_t ( 324782 )

      I wonder how TIOBE would measure this sort of work. As activity in the source language (C)? Editing language (C#)? Or both?

      It wouldn't. TIOBE is bullshit, I don't know why anyone uses it. Look at what it is: https://www.tiobe.com/tiobe-in... [tiobe.com]

      It's just searching various engines for "$LANG programming" and applying magic fudge factors. It searches multiple languages versions of Google as well as for some reason Amazon and Ebay. And it relies on the "$NUM results found" provided by those sites.

      So at best it's a

  • No I'm surprised it's even as high as it is
  • by Tschaine ( 10502969 ) on Sunday November 16, 2025 @02:02AM (#65798391)

    Java's Mono library is a poor substitute for C#'s async/await keywords. Code is much simpler with that functionality built into the language.

    Java's Optional library is a poor substitute for C#'s nullable features.

    Java's import statements bring in a single type. C#'s using statements bring in an entire library, so there's less time wasted managing them.

    I use Java because my current employer requires it, but that has only made me appreciate C# even more. For personal projects I'm still using C# everywhere I can, and C++ where I can't.

    • by dvice ( 6309704 )

      > Java's import statements bring in a single type.

      import x.*;

      • Thanks for the tip. But a quick read seems to indicate that this doesn't bring in types from child packages of the wildcarded namespace.

        Probably better than the default approach, though. Now the question is whether my teammates will tolerate it.

        By making individual imports the default behavior, Java developers are stuck with extra tedium for every imported class, out of an overblown fear of the rare case where type names collide. Whereas C# reduces the friction in the common scenario, with no additional fr

    • To expand a bit. C# has been evolving quickly in recent years. Microsoft has been concentrating on making the language more succinct with less boilerplate code required. Java is horrible for the amount of boilerplate code it requires... to the point where someone created Lombok to literally rewrite code at compile-time to get similar features, but in a non-standard way.

      They have also been concentrating on improving performance (I am not sure how it compares to the JVM, but each recent version of .Net has be

      • by cowdung ( 702933 )

        Java doesn't require boilerplate, but some of the lousy popular frameworks do.

        • I think you are too deeply immersed in the language if this is what you think. Java does indeed require a ton of boilerplate code. It's why I quit using it. Everything from initiating a background thread, to a simple lambda function, require boilerplate code. In both cases, C# has reduced the code required to a couple of words, rather than the old days when you had to write several lines of code for each. That might not sound like much, but when repeated at scale, those eliminated extra lines of code matter

    • Well, it's not about the subjective perception of who deserves what, is it? That's the domain of politics. This ranking is about popularity. Empirical evidence.

    • Java's Mono library is a poor substitute for C#'s async/await keywords

      The Async/await stuff is just syntactical bloat for most typical CRUD apps. I suspect it's there to help MS save on cloud costs, rarely helps devs.

      • I guess I'm not working on "typical CRUD apps" then?

        With C#, for the last decade or so, code that works with remote services or data stores or peripherals reads just like regular synchronous code, other than async and await keywords here and there.

        With Java, most of our code is in these awkward nested chains of flatMap(whatever()).doOnSuccess(result -> nextThing()).doOnFailure(error -> handleIt()), etc.

        • by Tablizer ( 95088 )

          I guess I'm not working on "typical CRUD apps" then?

          Based on your description, no, you are not, other than maybe "data stores". Sounds like systems programming. And it's rare to need such for app-level database access (unless you did something wrong or bad).

          other than async and await keywords here and there.

          It tends to force the need to parts that have nothing to do with asynchronous programming other than being referenced by parts that do. It pollutes and spreads like prions in a brain.

  • English (Score:2, Funny)

    by backslashdot ( 95548 )

    Just ask Claude or Replit to write your application. Coding is dumb. Software companies should fire all their autistic snooty computer science nerds and hire English majors instead.

  • It's a lump sum (Score:4, Interesting)

    by Casandro ( 751346 ) on Sunday November 16, 2025 @02:34AM (#65798425)

    Programming languages are used for different applications. So while you probably could write physical simulation software in PHP, a PHP user is way more likely to write some sort of web service.

    Essentially most of what the TIOBE index shows is how much different areas of computation show up in search engine results.

    • by znrt ( 2424692 )

      Essentially most of what the TIOBE index shows is how much different areas of computation show up in search engine results.

      not most, it's literally that:

      Basically the calculation comes down to counting hits for the search query

      +"(language) programming"

      https://www.tiobe.com/tiobe-in... [tiobe.com]

      besides "popularity" being hardly a relevant measure for language choice, that's how daftly they measure it, and no matter how often this gets pointed out every time this clickbait nonsense gets published, it keeps coming back. /. could at the very least add "... and guess what happened next" to the headline, that at least would be fun.

      ok, there is the fun of watching opinionated fanbois vs haters erupt in dialectical flames, but that gets old

  • by registrations_suck ( 1075251 ) on Sunday November 16, 2025 @03:02AM (#65798445)

    What is the point of this survey? How is one supposed to use this information?

    I mean, saying that Java is "more popular" than SQL is of limited value, other than suggesting people are doing less database work than database work. The people who answer "SQL" are not necessarily saying they like it better than Java. It just means they do a lot of database work.

    Besides that, one may not have a choice as to what to use. For example, they work in a "Java shop", well, they're using Java and not C. Not their choice and it doesn't mean that they like Java better than C.

    Overall, I'm confused by what one is supposed to take away from this survey. I'm also not sure that "popularity" is the right term to describe the results. Not sure what IS the right term. I'm just not sure that "popularity" is it.

    • "More popular" means more used, not more liked. To determine "more liked", a human survey is needed, where humans answer a questionnaire. stackoverflow does such a survey.
    • by cowdung ( 702933 )

      More popular means that you won't be left with a technology that nobody supports anymore (like Smalltalk or VB).

      But for the top languages it doesn't matter, except some new programmers will refuse to work in what they perceive as "dying" languages.

  • by ndykman ( 659315 ) on Sunday November 16, 2025 @03:31AM (#65798461)

    Java is adopting a lot of C# features, with varying success[1]. As such, more developers are seeing the advantages of those features so why not just use C# where it is way more refined. The cross-platform story is pretty complete. The runtime and the tooling. VS Code works. IntelliJ fans have Rider. The dotnet command tool does the things you need it to.

    Some things in Java are just clunky. Building and package management can really become a nightmare. You have choices where you don't really want them.

    Microsoft is doing a better job stewarding the platform than Oracle, and as unpopular as Microsoft can be, it is nothing compared to the ill will that Oracle has brought. Microsoft has unhappy customers; Oracle has paying prisoners. The main challenge Microsoft has to overcome is the older versions of the platform itself. As an example, some developers think Entity Framework only works with SQL Server. That was never the case. EF Core works swimmingly with a lot of databases, with Postgres support becoming a notable highlight.

    [1] Choices like type-erasure for generics, not having auto boxing and unboxing really makes for some clunky APIs. You have things like

    IntStream mapToInt()

    C# has

    IEnumerable<T> Select(...)

    where T can be int, string, whatever. Async and await alongside IO libraries that are non-blocking by default is another win. Sure, function coloring, but it's been a feature for ten years and it just works.

    • I'd go further and say that Oracle is actively discouraging use of Java by attempting to squeeze revenue out of it as if businesses are locked in. Those that can are exploring alternatives, and C# fits the bill for many.
      • by Tablizer ( 95088 )

        I'm glad Oracle is keeping the async pollution out of Java. Java is more of a business or admin domain language, and less for systems software. You don't really need that for biz/admin coding, and there are ways to still implement for the rare cases.

  • by simlox ( 6576120 ) on Sunday November 16, 2025 @03:55AM (#65798495)
    computer scientists Java. That is how it is here in Denmark. The engineering schools are still Microsoft centric, while the computer science department always have used Unix.
  • by Gideon Fubar ( 833343 ) on Sunday November 16, 2025 @04:46AM (#65798529) Journal

    What is the point of comparing languages as if they're sports teams?

    I have never understood this. It seems like the most irrelevant thing.

    • I've been doing software development for 40 years, and it's been this way since the beginning. Languages have always had their enthusiasts. Let them have a little fun arguing!

      • Can you please explain to me what is fun about it?

        No, I'm not being facetious. Not deliberately anyway. I genuinely cannot fathom what is fun about competing over which is the best language, and a list like this one just makes it more absurd.
        If a person is arguing for using javascript to access an SQLdb, for example, I might simply be confused why they're very obviously trying to use the wrong tool for the job.

        • If you've been around slashdot for any length of time, you will notice that people on this site like to argue...about *everything.* People like to be right, they like to believe that other people are wrong. It's a sport, and it's not limited to slashdot. It's just human nature. Husbands and wives argue about who is right, brothers and sisters, coworkers, you name it. Arguing about which language is "best" is part of the desire to be "right."

    • Reminds me of that famous Frank Zappa quote;- "Comparing Guitarists is a stupid sport".

      Now Zappa was no slouch on the guitar, considered by many as possibly the most inventive guitarists of the 1970s, but he was far less enamoured with virtuosity than his reputation suggested, eventually even giving up on playing it live, and handing over axe duties to his young apprentice, Steve Vai. For him it wasnt how well you could play the instrument, its what the music you played on it sounded like that interested hi

  • by votsalo ( 5723036 ) on Sunday November 16, 2025 @06:03AM (#65798579)

    Comparing TIOBE with Github octoverse, for the top 10 languages.

    TIOBE: Python, C, C++, Java, C#, JavaScript, Visual Basic, Delphi/Object Pascal, Perl, SQL

    Github octoverse: TypeScript, Python, JavaScript, Java, C#, PHP, Shell, C++, HCL, Go

    Common languages: C#, C++, Java, JavaScript, Python

    TIOBE only: C, Delphi/Object Pascal, Perl, SQL, Visual Basic

    Github octoverse only: Go, HCL, PHP, Shell, TypeScript

    Intepretation

    SQL statements are usually embedded in another language, so github probably counts them in the enclosing language.

    Perl and Visual Basic programmers don't use git, so github ranks them low. HCL files are probably deployed via git, so they appear in Octoverse

    TIOBE ranks Go lower, because Go has better offline documentation (go doc) than other languages, so Go programmers don't search the web so much for API documentation.

    TIOBE has a low rank for TypeScript, because TypeScript APIs are really JavaScript APIs, so people search for JavaScript

    I don't know how to explain C's absence from the Octoverse top-10

    Who uses Delphi/Object Pascal?

    • Wait, VB is still around?

      Also, Java needs to go the way of COBOL. Java was once a language with a lot of promise, then Struts and Springs came along and decided it would be even better with a large dollop of XML and DI on top. Everybody knows nothing is more stable and maintainable than hot-swappable runtime dependencies glued together by XML files. That's the point I relegated it to the trash pile of history.

      I don't have strong opinions of C#, but I don't think it's a pretty language, largely because it ca

  • My main objection with C# is I can't stand it's Pascal Case.

    object.MyMethod()

    Yuck.

  • I suppose I could search to find the first one.

    Can we change it to a weekly list please.

  • Microsoft's UI toolkits are mostly Windows only (WinForms, WPF), or are missing support for Linux (MAUI).

    Only third-party projects (like Avalonia) support Windows, MacOS, Linux, and mobile, but those are not an official part of .NET.

    • The lack of the one cross platform UI framework to rule them all can be a downside, as has Microsoft's adventures with creating and abandoning modern UI frameworks. But on the flip side this has led to a proliferation of third party options.

      Avalonia works everywhere, and they recently made MAUI run on top of Avalonia to give it Linux and WebASM support. They also have a commercial product to run WPF cross platform using Avalonia. So not only do they provide a good option, they have made two of Microsoft's f

  • I think Blazor might also have something to do with that. Not having to switch languages for frontend opens up the door for many C# backend developers and in that case also for new developers they only have to learn one language to do everything. Frameworks like angular and vue have very high learning curve compared to Blazor (but still have the better package support, as blazor components still have to grow).
  • Could? Sure.
    Should? Who cares?
    Would? We'll see.

  • C# is not taking much marketshare from Java. No one wants to run Windows server and it's a hard sell to convince people to run Microsoft languages on Linux. As nice as the language may be, Java performs better. It's abysmally stupid to switch platforms for an app you've invested decades in just for slightly better syntax...especially at a very tangible performance penalty, but even if you did want to, you have soooo many good choices. On the server, C# and Java have been independent camps. Historically
    • by bramez ( 190835 )

      Welcome to EJBs or Enterprise Java Burgers, where you don’t just order a burger, you instantiate a BurgerOrderFactoryBuilderProvider that passes through the DiningRoomController to the PattyHeatProcessingService , the CheeseRepositoryImpl tries not to throw a MissingCheddarException, and your meal finally returns as a BurgerDTO wrapped by the BurgerRepresentationMapper, assuming the whole place doesn’t hit a ServiceUnavailableException.

      • EJBs? How fucking old are you? You know those were obsolete over 20 years ago? NO ONE uses them anymore. Also you assume C# has no cumbersome patterns? Your core complaint is about complexity. That's not Java's fault, that's the fault of the engineer. Hire those same people to work in any other language and you'll see unnecessary layers.

        My Spring apps? They're really fucking lean...because I know what I'm doing...a Resource for HTTP/Security, a Service class, only if needed (which it isn't 75% of
  • by kriston ( 7886 ) on Sunday November 16, 2025 @02:21PM (#65799081) Homepage Journal

    Why is SQL even on this list? That's comparing apples to oranges.

    That proves this "survey" is worthless nonsense.

    • SQL is a Turing-complete programming language. https://www.datacamp.com/blog/... [datacamp.com] Why shouldn't it be included?

      Sure, it's domain-specific.. But other languages on the list are also limited in scope. You can't write web front ends in C++ or Java, and you can't write operating systems with JavaScript. Just because the langue can't be used for any and every purpose, doesn't make it less of a language.

  • Having used both extensively, C# is such a better language than Java in every single way, especially in frameworks and tooling. Java has stagnated so badly in the past decade, that even their attempt at virtual threads was a disaster. No async/await keywords, not dynamic hardware thread use, no good package management system, huge number of exploits and middleware problems, and no alternative to Spring and all the legacy that comes with that. C# is light years ahead on performance as well.
    • These days, C# even beats Java in terms of cross-platform capabilities, a title once claimed exclusively by Java. It now runs on just about every OS, and even in the browser with Blazor.

This process can check if this value is zero, and if it is, it does something child-like. -- Forbes Burkowski, CS 454, University of Washington

Working...