Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming Java

C++ Zooms Past Java in Programming Language Popularity Contest (theregister.com) 108

"Java is no longer among the top three most popular programming languages in the TIOBE Index," reports the Register, "one of several not particularly definitive yardsticks by which such things are measured." According to Paul Jansen, CEO of Netherlands-based TIOBE Software, the rising popularity of C++ has pushed Java down a notch. The index's rankings are now:

- Python in first place
- C second
- C++ third, and
- Java fourth.

C++ stepped up to third, and Java fell to fourth. "C++ surpassed Java for the first time in the history of the TIOBE Index, which means that Java is at position 4 now," said Jansen in the December update for the TIOBE Index. "This is the first time that Java is not part of the top 3 since the beginning of the TIOBE Index in 2001."

The surge in C++, perhaps in part helped by the stable release of C++ 20 in December 2020, is particularly ironic in light of the language's recent dismissal by Microsoft CTO Mark Russinovich, which coincides with industry evangelism for Rust and its capacity for memory safety.

The article points out that other rankings still show a slighty higher popularity for Java. And ZDNet notes the other languages rising quickly in popularity over the last 12 months: In a year-on-year comparison in Tiobe's index, the languages now in the top 20 that made significant gains over the period are: Rust (up from 27 to 20), Objective-C (up from 29 to 19), science-specialized MATLAB (20 to 14), and Google's Go language (up from 19 to 12).
This discussion has been archived. No new comments can be posted.

C++ Zooms Past Java in Programming Language Popularity Contest

Comments Filter:
  • Obviously wrong (Score:4, Insightful)

    by Laz10 ( 708792 ) on Monday December 12, 2022 @08:58AM (#63123778)

    This is so obviously wrong. I don't believe TIOBE for a second.
    If this was true it should correlate with stuff like number of github projects and job offerings.
    And it just doesn't ...

    • I am also sceptical.

      Do TIOBE themselves try and justify their figures by correlation with other metrics ?

      • by Anonymous Coward

        I don't think this report says as much about C++ gaining popularity as Python rising hugely.

        Python cannibalizes Java's former user base. What was Java's claim to fame?

        Write once, run anywhere? Python does that, with a much leaner runtime.
        No memory management to worry about? Python does that.
        Just In Time compilation (aka, slow apps)? Python does that, albeit with an even slower interpreter (offset by faster hardware today and promises of faster implementations in the future).

        The best thing about Python: it's

    • Re:Obviously wrong (Score:4, Insightful)

      by GuB-42 ( 2483988 ) on Monday December 12, 2022 @09:38AM (#63123834)

      Yes, and I can't believe how low JavaScript is... 7th position, behind Visual Basic.
      And assembly (9th) tops PHP (10th) and Go (12th)... I haven't seen handwritten assembly for a while now, and I work in embedded systems. Swift (15th) and Kotlin (23th) also seem low for the official languages of the big two mobile platforms.

      Also, bash is in 36th position, behind Prolog, D, and PL/SQL, seriously?!

      • Considering how many different processors and assembly languages there are out there ...

        Well, regarding bash, perhaps people rarely google for it? I'm at the moment however in the thought process to kick ksh/sh and focus on bash. As in: do not avoid bash specific stuff, but embrace them. As I frankly nearly exclusively used bash the recent 20 years or so. One project used ksh ...

      • Kotlin is gaining popularity on the server side as well. I don't see companies with an established JVM code base moving away from JVM, but I do see them migrating from Java to Kotlin. This was the route the company I worked at pre-pandemic was going, as well as at the company I work at now. So any loss of Java popularity should be made up by an increase in Kotlin popularity in the charts.

      • Yes, and I can't believe how low JavaScript is...

        If you look TIOBE's criteria, the list is more like a list of the "currently most publicly confusing languages".

    • by cshamis ( 854596 )
      Just because it's being ubiquitous... doesn't mean people have to /like/ it.
    • by znrt ( 2424692 )

      hey, it's clickbait time again!

    • What is going out in the wider world is different from (a) what academia and media see and (b) the rather limited subset of the world seen by those with the time to come to Slashdot to kvetch and charlar about it.

    • Indeed, what TIOBE measures is searches, thus it really means that people are looking up more C++ stuff than Java stuff, maybe because they know the Java stuff better and don't have to look it up...
    • I'll use whatever language someone will pay me to use. That's been Java and C# for more than 20 years.

      And JavaScript, unfortunately.

    • C as the second largest bothers me. Yeah, there's a ton of embedded stuff and drivers where C may be the only game in town. But those aren't often under ACTIVE development, and for most things, C++ or another C-alike language is strictly better than C. The only people who stock to pure C when they don't have to are those who think they're smarter than the compiler, and most of those people are wrong.
      • by tsqr ( 808554 )

        for most things, C++ or another C-alike language is strictly better than C.

        Talk to an FAA-appointed Designated Engineering Representative specializing in certification of software and you're likely to get a very different opinion.

        • The problem is C requires you to reinvent too much. More reinvention, more chance for bugs. No matter what you're doing, sooner or later you will encounter something that another language provides out of the box and C does not. Another chance to screw up. Now, that doesn't mean everything about other languages is great. I prefer to disable exceptions in C++, for instance. But on balance I'm able to write "obviously correct" code more often in C++ than I can in C.
    • Over a decade ago, before Oracle Started getting their hands in Java, and made it non-free (as in cost). When starting a project to create a new software. Java was a good choice, as a full feature modern language, with wide support and could be deployed anywhere.

      However after a few big Java bugs, and Oracle making it expensive to develop off the core Java (openJVM is fine, just not considered official for businesses) Other Languages started to become attractive. Especially with more advance IDE's program

  • So what? (Score:3, Interesting)

    by DeplorableCodeMonkey ( 4828467 ) on Monday December 12, 2022 @09:10AM (#63123794)

    Java isn't going away and keeps getting better. The one most likely to be knocked down hard is Python. There two major factors going against it that don't apply to even Node, let alone, C/C++/C#/Java/Rust/Go:

    1. The community seems to be saturated with minimally employable users. By this I mean most of the Python developers we've seen in our East Coast tech hub are utter garbage at their own language of choice compared to C, C++ and Java developers. I've worked with only 2 Python-slinging data scientists who happened to have real chops at writing code and surprise! their skills included heavy Java development so they understood SWE work way better than most of their peers.

    2. Any fundamental disruption in chip economics will hurt Python more because it's so inefficient compared to the others. This is likely coming via a major military campaign against Taiwan. If the cost of good CPUs shoots up hard, Python is going to suddenly cost a lot more than more CPU-efficient languages like its main competitors. It'll continue to be popular mainly in web dev and writing glue code, but on the big data side it will be too expensive.

    • Re: (Score:3, Insightful)

      by poptopdrop ( 6713596 )

      1. An anecdote

      2. Too tenuous to be serious.

      You might be correct ( I personally doubt it ), but your arguments are worthless.

    • Re:So what? (Score:5, Insightful)

      by Junta ( 36770 ) on Monday December 12, 2022 @09:34AM (#63123824)

      1. This is the curse of 'the' hot language, *particularly* when it's 'the' language for educating on programming. Language popularity causes this phenomenon. It's not that there's anything about Python that fundamentally makes their developers less capable, it's just that as the 'default' language for early programming career it attracts all the less capable developers.

      2. Computers aren't going to get *slower* due to such scenarios, though they may stagnate. It's not going to suddenly cost more than it already does. It's accurate that a compute intensive section written in 'pure python' is going to underperform most alternatives, but the vast majority of development isn't compute intensive. To Python's credit, it has respectable ability to invoke native code (whether it's a shared object providing a Python interface, or the built in ctypes to call native code from core python, or going the extra little bit for cffi third-party for easier support of header-defined C interfaces). Lot's of the 'compute' intensive python stuff is just manipulating input and output to popular compiled libraries, like numpy.

      I see Java and C# suffering from the fact that you have this wave of traditionally compiled languages offering a lot of the Java benefits, without the awkwardness of an external managed runtime. Rust and Go provide traditional executables that are straightforward to package and run. Interpreted languages suffer the same awkwardness, but it at least means the user has the feature of being able to directly tweak without a build step. The compiled managed runtime languages offer much of the worst of both worlds.

      • > 2. Computers aren't going to get *slower* due to such scenarios, though they may stagnate. It's not going to suddenly cost more than it already does.

        The industry works on the assumption that hardware is now cheaper than labor costs except at places like Facebook and Google which have truly extreme scalability requirements.

        What I was referring to is that we are on the precipice of WWIII, and China controls our supply of chips going forward unless we are willing to risk catastrophic casualties in our Pac

        • If we got the unions out of the way, American labor could easily compete with the Chinese. Our costs would be slightly higher because we would not pour wastewater directly into the environment, but that might be a small price to pay in the longer term.

        • by Junta ( 36770 )

          Presuming that supply chain completely collapses, it means that their capabilities pause. They do not suddenly lose access to the massive volume of gear in their datacenters today. The volume of data they can process today is the same volume they could keep processing. If anything would be at threat it would be data *storage*, but processing isn't suddenly going to backslide unless something were to happen to the standing installation of equipment, and in that case matters are probably so screwed that the

        • by nasch ( 598556 )

          Why would China cut off outside sales, rather than continuing sales and taking the profits for themselves?

        • Energy costs are going up. Direct costs such as energy to run the computer, and indirect costs such as aircon and the network. That alone means that compute-inefficient languages are going to cost more.

          Also, despite all the rah-rah bs from rust evangelists, it's stuck at #20. I can live with that.

        • by cstacy ( 534252 )

          Most of our good CPUs and GPUs come from China. It's pretty much a guarantee that unless we're extremely lucky or China wimps out, Taiwan will be getting cut off from global supply chains by the PLA.

          The designs for those chips are from the USA: you're talking about fabrication. TSMC is at this moment putting it's most advacned manufacturing (3nm process) in Arizona.

          Taiwan’s TSMC to bring its most advanced chip manufacturing to Arizona [cnn.com]

          What will affect the high-tech sector is China's control of materials. That's land (mining for "rare" metals), which unlike technology is not absolutely portable.

          As you note, none of this has or will have anything to do with Python or any other software.

          LISP is (in i

    • by jeremyp ( 130771 )

      Point 2 is obviously nonsense because computers aren't going to get slower.

      Point 1 is less obviously nonsense, but is, anyway. The Tiobe index is calculated by counting search hits for each programming language on twenty five search engines. Python seems to be the language of choice for amateur programmers. I classify "amateurs" as hobbyists and people who need to do a bit of programming in a job that isn't programming. As an example, most of the people on Youtube with maths channels will use Python for the

    • By this I mean most of the Python developers we've seen in our East Coast tech hub are utter garbage at their own language of choice compared to C, C++ and Java developers.

      This is true with anything that has a low entrance bar. Python is designed to get you up and coding what are basically advanced shell scripts rather quickly; it is like Perl, but less elegant and capable. Consequently, you have a lot of people who have picked up the "Learn 2 Code Python 4 Dummeez" ebook and have some grasp of one type of

      • by sfcat ( 872532 )

        The stuff just works, yo

        Right up until you have customers. I worked for a company that thought the way you do. PHP just works. Of course the 4 second average loading time of their web pages was a problem. One they didn't notice until they were declaring bankruptcy. People don't like to wait. Just because the web page eventually loads doesn't mean the backend code "just works, yo". If it takes seconds to load, it doesn't just work because by that time, your customers have all left. If software works or not isn't binary. Do

        • If you are rolling out something for heavy usage, you are going to design the system differently from the ground up. It will need to scale, have specialized caching, and so forth. For the average website however that is serving a small audience, PHP works great because it allows template-style coding and does great for most of those websites. This is why despite being a technically unimpressive language, it makes stuff work just great for most uses. If I were writing for a high-volume website, I would not u

        • by Junta ( 36770 )

          Of course the 4 second average loading time of their web pages was a problem

          While python is slow, if your page load is that slow, the language of choice is the least of your contributing factors.

    • Python has become the PHP of the 21st century. It is popular because of an "It is easy!!!" hype. Yeah, the SYNTAX is easier than C++ or Java or LISP for that matter, but that has little to do with complexity in the real world. It is at the end of an illustrious list.

      • by Megane ( 129182 )
        I think it would be more accurate to say that Python has become the Basic of the 21st century. PHP is from 1993, so it is barely 20th century at all. Even in embedded, MicroPython has taken over from Basic Stamp for people who don't have the chops for asm or C.
    • by Tablizer ( 95088 )

      > Java isn't going away and keeps getting better.

      Throwing features at something doesn't necessarily make it "better", because it also makes it more complicated, creating a bigger learning curve to enter.

    • by Joviex ( 976416 )
      1. No one said that.

      2. Show us your crystal ball.
    • As a data scientist who works with larger-than-memory datasets donâ(TM)t see that happening. Python is has a friendly learning curve (if the hardest challenge of your project is how are you going to code it⦠you have big problem). Also a data science project are by nature very experimental (you will tweak you code very often and wonâ(TM)t need to compile). If you have basic understanding of multiprocessing, parallelization, and know your way around the AVX instruction set, you can ha
    • Most 'coders' I saw before I retired from the software industry were hacks, in some way shape or form.

      The Java guys put most of their effort into learning and reusing the vast library of pre-existing Java code already out there. They rushed out prototypes that would compile but were utterly un-scalable. Most of them had a reputation for coding entirely on their own and being awful to work with in a team setting. That being said, at least the work more or less got done.

      Python was rolled out as a buzzword,

  • This is the same TIOBE. Index that claims Assembler is more popular than PHP? And that Visual Basic and C# are more popular than Javascript?

  • I just did a c++ smart pointer implementation.

    And the only thing I did not remember was where exactly the "operator" keyword belongs in a cast operator. So: I only googled once.

    However my toy language of the year (more precisely next year) is wren. See: http://wren.io/ [wren.io]

    No Java since 3 or 4 years - I guess we are at Java 20 when I start again, lol.

    • I just did a c++ smart pointer implementation.

      Why though

      • Because I have a C program, which implements a small virtual machine/byte code interpreter.

        It has its own GC, simply wrapped around standard malloc/free.

        I want to control the memory area in which the VM allocates its heap objects, to be able to have a SmallTalk like image that I can write out to disk.

        As I did not want to hunt down all ways how the VM uses pointers, I compile it now with a C++ compiler instead of C, and I have changed all typedefs involving VM internals (about 15) to my smart pointer.

        Hence t

        • Interesting. But couldn't you have used one of the C++ standard library smart pointers instead of implementing your own?

          • Not that I'm aware of, I don't think there is a pointer in the standard library, that references memory via a shared "base pointer".
            It would have spoiled the fun to daddle a bit with C++ anyway ...

  • by spike_gran ( 219938 ) on Monday December 12, 2022 @11:29AM (#63124146)

    My first paid coding job was C in the late 1980s, did many languages in between, lots of C++, and now I'm wrapping up my career with a job doing C in the 2020s.

    It is funny how much and how little has changed.

    • The vast majority of my professional programming was in C, but I think my first actual paid programming job - circa 1988 or '89 - was deciphering and debugging a program written in MUMPS, a language I didn't even know at the time; and promptly forgot. A local government health provider had an issue with case management software that they got from the Feds - I guess it was common in the healthcare field - and they called me as a contractor to fix it. A small tweak, and it "worked" again. I'm pretty sure I
  • If Java drops sufficiently in the rankings, maybe one day it will be cool to be a Java developer again.

    • by CAIMLAS ( 41445 )

      That depends on there being good java developers again, probably. Given how much garbage many of the commonly used java libraries are, I'd not hold my breath.

  • Being hateworthy and burning karma like cord-wood ill catch up to you.
  • C and C++ might be popular to the people that use it, but those people are few. All the jobs are Python, Java, and .NET
    • Unless you're doing embedded, or telecom, or finance, or ...

      But, yeah, not going to find much c++ if you're doing windows development.

  • I've been fiddling around with some Arduino projects and my 20 year old c++ chops are so rusty that I may have single-handedly warped the stats with all my googling! :) But in all seriousness, what a lousy way of ranking programming languages.
  • I looked at the TIOBE trend chart. Anyone notice how much Visual Basic jumped right at the start of Covid? It jumped from 1% to almost 5%.
  • I mean, it rates C as the second most popular language and, as we all know, C was originally a prank.
    Seriously, this is valid C:
    for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
    Theres no way this was ever a language intended for real world applications.

    Its all documented here:
    https://www-users.cs.york.ac.u... [york.ac.uk]

    Therefore, this article itself must be a prank.

    • Ok. Just in case you are serial about this, that article was posted on April 1. You may draw your own conclusions from that.

      • Ok. Just in case you are serial about this, that article was posted on April 1. You may draw your own conclusions from that.

        Comment about the insane syntax stands.

      • by Megane ( 129182 )

        But if it was in Perl, that wouldn't be a prank!

        (JK, but Perl does let you write code that looks like that without defining a bunch of obfuscation macros first)

  • If "your" language is at the top then you're the man! Otherwise you claim that fewer programmers are needed for "your" language.
  • Languages that started out (relatively) free increased their popularity which had the network effect of many wheels and other parts getting developed making it easier to develop cars. All turning into legacy to be maintained. Popularity also came from Python's ease of use via its interpreter, with the web programming languages popularity derived from first mover.

    All the latest and greatest languages have a large legacy porting hurdle to jump. If I'm starting a new high-level application I'm going to select

  • The most popular things are often among the worst. The McDonalds hamburger is certainly not among the best hamburgers, but it is the most popular.
  • Java dropping a notch is not a 'zoom' so the choice of wording puts an interesting spin on what happened. More interesting is the performance of other languages like Rust or even Matlab. In any case, Java will be around for many many decades to come ... like FORTRAN.

  • As we all know, popularity is what matters in tech.

    Of course, that only goes for the absolute most undisputed popular concepts, products, companies. Second place when 'going for' popularity is a tie for dead-last.

    Shooting for ANY other metric, there's pros and cons about what you actually produce.

"What man has done, man can aspire to do." -- Jerry Pournelle, about space flight

Working...