back to article Class move, Java. Coding language slips to third place behind Python in latest popularity contest

Python surpassed Java in Redmonk's latest biannual programming language ranking to take second place... by not doing anything. Python usage, as measured by GitHub pull requests and Stack Overflow queries, remained flat over the past six months while the presence of Java code slipped from second place to third. Yes, JavaScript …

  1. andyace

    Thats no Python, Thats a grass snake, never written a program in "grass snake" before

  2. GlenP Silver badge

    I Wonder...

    How many of the Python activities recorded are just people playing about with Raspberry Pi's? I know I've contributed to the statistics while writing software to control my model railways.

    1. Psmo

      Re: I Wonder...

      Still counts.

      I often knock out quick algorithm prototypes then translate it to context, but that means that at least one Python interpreter has been installed on every machine I've used.

      The same cannot be said of Java anymore.

      And Java tools can be a pain due to JRE constraints.

      1. Anonymous Coward
        Linux

        Re: I Wonder...

        As the article and the survey make clear, your GitHub activity counts as much as the biggest users. At the top, this is just a beauty contest for the usual suspects.

        The only thing of minor interest is at the bottom where languages come and go.

    2. werdsmith Silver badge

      Re: I Wonder...

      People playing about with Raspberry Pis are not doing that many GitHub pull requests. They tend to have their own forums too and not so much stackoverflow contributors as much as lookups users.

    3. Anonymous Coward
      Anonymous Coward

      Re: I Wonder...

      I had to use a Pi at work to act as a serial <-> TCP go between. Python wasn't even considered as power consumption (and heat generated in the Pi 4 by the CPU) was an issue so it was C from the start. We did't need or want extra CPU cycles sucked up by the interpreter. I'm not really sure why a language like Python is so popular on a semi-embedded system such as Pi. You need a certain degree of nous to use one as a controller so why use a scripting language like Python to do it when most embedded systems use C/C++?

      1. Eeep !

        Re: I Wonder...

        Python generally has enough options to get a a lot of jobs done quite quickly/easily - proof of concept if not good enough for a production ready solution.

        For a lot of people it is good enough to achieve what they want without worrying about the detail C/C++ requires - so unless there is a specific requirement for Raspberry Pi being used at ultimate optimisation then Python is probably fine. I mean it's not like handcrafted assembler handling execution pipeline sequencing for each possible CPU on a family with different hardware, but then if you are using C/C++ compilers for production systems perhaps you aren't worried about that level of optimisation either.

        Horses for courses, and if people are using Python on RPis to get the stuff they want done then I'm more than happy they aren't wasting their lives re-writing the wheel for microseconds of un-necessary optimisation.

        Also, are you sure most embeded systems use C/C++ for the user application layer, perhaps it's only OS/drivers/board support packages that are in C/C++ and Java might actually be more for the actual applications people integrate with?

        1. JassMan

          Re: I Wonder...

          I think that Javascript has a big following because it is so well integrated with markup languages such as qml and html. This makes it easy to quickly produce a working app which looks reasonably aesthetic without having to spend low level effort on controls and animations. Producing a graphics heavy app with Python + Glade is serious effort compared to getting the same result in Qml+Javascript. The balance only tips the other way when you need to interface to hardware other than timers and basic mobilephone sensors such as accellerometers.

        2. logicalextreme

          Re: I Wonder...

          I'm no taxonomist but I'm sure pythons aren't horses.

    4. logicalextreme

      Re: I Wonder...

      I've written it to control Lego Mindstorms, too. Both that and model railways are arguably more important than code on a webserver selling people shit they don't need.

    5. Blank Reg

      Re: I Wonder...

      I tried to use Python for an RPi project once. I needed a couple of different packages but couldn't find working versions of each that both worked on that same version of Python. After wasting half a day just trying to find functioning packages I switched to Java and got it working in under an hour.

      1. logicalextreme

        Re: I Wonder...

        There's been much less of that (in my experience) in Python 3.x.

  3. Anonymous Coward
    Anonymous Coward

    I wonder if adding Java and Kotlin together would put Java back in second place.

    1. DrXym

      Kotlin isn't Java though. It was initially created to run on a JVM and interact with Java but it's outgrown that purpose and can also compile to mobile and natively where "native" means via LLVM to various backends.

      I think its popularity has increased because Google promote it for Android development and of course Android Studio (Jetbrains) ensures it has good IDE support. Google were getting fed up being tied to Java 7 and the never-ending lawsuit against Oracle. For devs, it's a terse language similar to Swift, Go and Rust so it means typing less boiler plate.

      1. Anonymous Coward
        Anonymous Coward

        The "Convert this Java to Kotlin" button in the Android IDE probably helps too.

  4. Spicer

    TIOBE Index

    Don't know if it's just a case of confirmation bias, but after looking into this TIOBE index for the first time, it sure feels more "right" to me, especially their "Very Long Term History" table, than the (laughable?) results compiled by looking at GitHub pulls.

    Especially since more and more FOSS seem to use GitHub as a software delivery platform as well as a source code management system

    1. Will Godfrey Silver badge
      Meh

      Re: TIOBE Index

      Agreed. I would suggest the only thing counting github pulls is good for is... counting github pulls. In fact I can't think of any reliable method of assessing coding language popularity. How do you count establishments that have their own in-house teams working on their completely closed systems? What about all the hobbyist Arduino users? Does its subset of C++ count, or is it a 'different' language?

      1. richardcox13

        Re: TIOBE Index

        There isn't any reliable way to look behind closed doors.

        Thus there will always biases towards older tools when looking at job ads (companies maintaining teams for internal systems where existing staff are more interesting in transitioning to newer tools) and the newest (expanding expertise on those newer tools).

        Looking at open source will have its own biases.

        But then other surveys – eg. Micro Focus saying how much COBOL has been written but nothing about how much is being written – all have their own problems.

  5. Julz

    Just

    Makes me want to cry.

  6. Mike 137 Silver badge

    Questionable statistics?

    I'm always very dubious about these statistical reports drawn from unavoidably self-selected sources. For validity, it should be qualified by "among those submitting to github or posting on stack overflow...". Both represent a very small sample of the entire population of software development, quite apart from which the two are not comparable. Github primarily represents professional grade open source development, but stack overflow is primarily populated by often quite elementary questions from relatively inexperienced coders, and answers thereto from similar responders. There is of course also the question of the development target. Online and cloud development is typically performed using different languages than native application development. The first four entries in this list strongly suggest a web development bias.

    A parallel survey of languages used internally by closed source development houses for mainstream products would be an interesting comparison.

    1. thames

      Re: Questionable statistics?

      The limitations of the methodology are all addressed in the actual Remonk blog post. If you haven't read it, then you may wish to do so as they have addressed all of your points fairly well.

      They don't claim a high degree of accuracy in absolute terms, but do believe that the relative rankings are what matters, and their results in this respect do look quite reasonable.

      They also say with respect to the simple list:

      "All numerical rankings should be taken with a grain of salt. We rank by numbers here strictly for the sake of interest. In general, the numerical ranking is substantially less relevant than the language’s tier or grouping. In many cases, one spot on the list is not distinguishable from the next. The separation between language tiers on the plot, however, is generally representative of substantial differences in relative popularity."

      Have a look at the actual chart in their blog post, not just the list of 1, 2, 3, etc. The chart is the actual summary of their analysis, while the list is there for the benefit of third parties who want a short reference.

  7. Merrill

    Stack Overflow versus Github?

    There are a number of languages which moved down and right when flipping between the Q1 and Q3 graphs, i.e. they declined in Stack Overflow and increased in Github rank. So maybe rather than a story of no movement in overall rank, there is a story regarding Stack Overflow versus Github. Possibly these languages have other support communities which makes Stack Overflow less important to their users?

    1. thames

      Re: Stack Overflow versus Github?

      The actual Redmonk article states that outside of the top tier languages you need to take the relative rankings with a degree of caution as the further down the scale you go the less data there is to work with and so the more statistical fluctuation you will see.

      What matters more are what tier a language is in, and what its long term trends are. If you look at the graph in the actual article, have a look at what other languages the language you are interested in is clustered with. For example, Python is closely clustered with Java and Javascript, so all three languages have similar degrees of interest and use. On the other hand, Logos is clustered in the bottom left of the chart with a number of other languages you've probably never heard of either, confirming that it probably isn't used all that much. Fortran, Erlang, OCaml, and Common Lisp however are somewhere in the middle, and roughly equivalent to each other in terms of amount of use.

      Certain other conclusions might possibly also be drawn from the data by looking at differences in relative popularity on Stack Overflow versus Github. For example, Prolog seems to be much talked about but seldom used, while Vim script is often used but seldom talked about. The Redmonk methodology is useful in that respect in that it helps to pick out the languages which have a lot of hype but aren't seeing much real world use as compared to languages which are seeing a lot of use but which don't have a lot of "buzz" around them. Of course the most popular languages by their nature have a lot of both, so this method is probably most useful when looking at second and third tier languages.

      So when looking at the survey, what matters is to look at what other languages any particular language is clustered with in order to get an idea of the popularity of any particular language as compared to one that you are more familiar with.

  8. Zippy´s Sausage Factory
    Flame

    CSS?

    I personally wouldn't describe CSS as a programming language. A design and markup language, similar to LaTeX or HTML? Yeah, sure, I'm on board with that.

    But a programming language? The day you can write an elevator controller in CSS, I might believe you.

    1. GrumpenKraut

      Re: CSS?

      > The day you can write an elevator controller in CSS, I might believe you.

      I am afraid you just gave someone an idea. It's all your fault now.

    2. Paul Kinsler

      Re: But a programming language?

      I.e. ... ... is CSS Turing complete?

    3. Anonymous Coward
      Anonymous Coward

      Re: CSS?

      Well, you can make a pure CSS "calculator":

      https://experiments.hertzen.com/css3calculator/

      ( Yes, I know )

    4. Maventi

      Re: CSS?

      CSS3 is apparently Turing complete, so one could technically class it as a programming language.

  9. knandras

    Does this mean that Python runs on more than 3 billion devices?

    1. Psmo

      Python interpreters have kept compatibility while gradually growing their use base. One is present by default in most *nix installations.

      So I wouldn't be surprised.

      The community preference for duck-typing and a forgiveness-based permissions model has also allowed it to avoid many of Java long-term issues.

      1. Anonymous Coward
        Anonymous Coward

        Python and Java have the exact same issue. They are shite.

        1. Psmo
          Trollface

          Congratulations on a well reasoned and clear remark.

          Don't you have a bridge needing attention?

          1. Anonymous Coward
            Anonymous Coward

            No, my bridge factory factory hasn't created my bridge factory yet so my bridge factory hasn't created my bridge.

    2. Anonymous Coward
      Anonymous Coward

      I'm still trying to kill Java on each of my devices, but there is still some stupid but mandatory app requiring it (i.e. tax filing once a year), usually not working with the latest version but imploring me to install some older one. It's good that Oracle is working hard to make people abandon Java.

    3. thames

      This ranking is a rough gauge of how much software is being written, not how many copies of any particular program were sold. If you write software you are generally more interested in how much demand there is for your skills and so care about the former. On the other hand, if you are a salesman you are probably more interested in how much commission you can earn and so care more about the latter.

  10. Anonymous Coward
    Anonymous Coward

    Programming language popularity contests are like Ms World

    Its never the most attractive one that wins, its the one who wants to hug puppies and spread world peace. Similarly with languages its never the one most people use or like, its the one everyone THINKS they should use and like because it has hyped up qualities that probably arn't 100% accurate.

    1. Glen 1

      Re: Programming language popularity contests are like Ms World

      They are literally trying to measure what people *are* using.

      Not asking them what they *think* they should be using... or what *you* think they should be using.

  11. drankinatty

    Mixing Compiled and Script Languages is Somewhat Apples and Oranges.

    I've always winced at bit at the Top 20 Programming Language surveys, even the surveys on StackOverflow to which I contribute. To compound the dubious nature of the comparison, you have languages intended for totally different and unrelated purposes (web development, stylesheets, etc.) compared against general purpose compiled language (C/C++) against some that are purely shell interpreters (shell, PowerShell) and everything in between. I guess if the intent is a rough hack at where the most man-hours in development are being expended, then I can see it, but otherwise to compare C and PHP, or PowerShell and javascript is really an apples and oranges comparison. So these "comparisons" are not something you can use to infer a better/worse relationship from as each of the languages have a purpose and what they are being compared with does something totally different.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like