Thats no Python, Thats a grass snake, never written a program in "grass snake" before
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 …
COMMENTS
-
-
Tuesday 28th July 2020 09:21 GMT 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.
-
Tuesday 28th July 2020 18:35 GMT 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++?
-
Tuesday 28th July 2020 19:12 GMT 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?
-
Tuesday 28th July 2020 20:22 GMT 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.
-
-
-
-
Wednesday 29th July 2020 01:46 GMT 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.
-
-
-
Tuesday 28th July 2020 09:48 GMT 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.
-
-
Tuesday 28th July 2020 08:37 GMT 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
-
Tuesday 28th July 2020 09:20 GMT Will Godfrey
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?
-
Tuesday 28th July 2020 10:02 GMT 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.
-
-
-
Tuesday 28th July 2020 09:51 GMT Mike 137
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.
-
Tuesday 28th July 2020 17:53 GMT 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.
-
-
Tuesday 28th July 2020 11:19 GMT 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?
-
Tuesday 28th July 2020 17:53 GMT 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.
-
-
-
Tuesday 28th July 2020 13:23 GMT 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.
-
Tuesday 28th July 2020 14:28 GMT 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.
-
Tuesday 28th July 2020 17:53 GMT 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.
-
-
Tuesday 28th July 2020 12:12 GMT 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.
-
Wednesday 29th July 2020 07:35 GMT 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.