JavaScript, Python, Java: Redmonk's Programming Language Ranking Sees Lack of Change (redmonk.com) 30
Redmonk's latest programming language ranking (attempting to gauge "potential future adoption trends") has found evidence of "a landscape resistant to change."
Outside of CSS moving down a spot and C++ moving up one, the Top 10 was unchanged. And even in the back half of the rankings, where languages tend to be less entrenched and movement is more common, only three languages moved at all... There are a few signs of languages following in TypeScript's footsteps and working their way up the path, both in the Top 20 and at the back end of the Top 100 as we'll discuss shortly, but they're the exception that proves the rule.
It's possible that we'll see more fluid usage of languages, and increased usage of code assistants would theoretically make that much more likely, but at this point it's a fairly static status quo. With that, some results of note:
- TypeScript (#6): technically TypeScript didn't move, as it was ranked sixth in our last run, but this is the first quarter in which is has been the sole occupant of that spot. CSS, in this case, dropped one place to seven leaving TypeScript just outside the Top 5. It will be interesting to see whether or not it has more momentum to expend or whether it's topped out for the time being.
- Kotlin (#14) / Scala (#14): both of these JVM-based languages jumped up a couple of spots — two spots in Scala's case and three for Kotlin. Scala's rise is notable because it had been on something of a downward trajectory from a one time high of 12th, and Kotlin's placement is a mild surprise because it had spent three consecutive runs not budging from 17, only to make the jump now. The tie here, meanwhile, is interesting because Scala's long history gives it an accretive advantage over Kotlin's more recent development, but in any case the combination is evidence of the continued staying power of the JVM.
- Objective C (#17): speaking of downward trajectories and the 17th placement on this list, Objective C's slide that began in mid-2018 continued and left the language with its lowest placement in these rankings to date at #17. That's still an enormously impressive achievement, of course, and there are dozens of languages that would trade their usage for Objective C's, but the direction of travel seems clear.
- Dart (#19) / Rust (#19): while once grouped with Kotlin as up and coming languages driven by differing incentives and trends, Dart and Rust have not been able to match the ascent of their counterpart with five straight quarters of no movement. That's not necessarily a negative; as with Objective C, these are still highly popular languages and communities, but it's worth questioning whether new momentum will arrive and from where, particularly because the communities are experiencing some friction in growing their usage.
It's important to remember Redmonk's methodology. "We extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends."
Having said that, here's the current top ten in Redmonk's ranking:
It's possible that we'll see more fluid usage of languages, and increased usage of code assistants would theoretically make that much more likely, but at this point it's a fairly static status quo. With that, some results of note:
- TypeScript (#6): technically TypeScript didn't move, as it was ranked sixth in our last run, but this is the first quarter in which is has been the sole occupant of that spot. CSS, in this case, dropped one place to seven leaving TypeScript just outside the Top 5. It will be interesting to see whether or not it has more momentum to expend or whether it's topped out for the time being.
- Kotlin (#14) / Scala (#14): both of these JVM-based languages jumped up a couple of spots — two spots in Scala's case and three for Kotlin. Scala's rise is notable because it had been on something of a downward trajectory from a one time high of 12th, and Kotlin's placement is a mild surprise because it had spent three consecutive runs not budging from 17, only to make the jump now. The tie here, meanwhile, is interesting because Scala's long history gives it an accretive advantage over Kotlin's more recent development, but in any case the combination is evidence of the continued staying power of the JVM.
- Objective C (#17): speaking of downward trajectories and the 17th placement on this list, Objective C's slide that began in mid-2018 continued and left the language with its lowest placement in these rankings to date at #17. That's still an enormously impressive achievement, of course, and there are dozens of languages that would trade their usage for Objective C's, but the direction of travel seems clear.
- Dart (#19) / Rust (#19): while once grouped with Kotlin as up and coming languages driven by differing incentives and trends, Dart and Rust have not been able to match the ascent of their counterpart with five straight quarters of no movement. That's not necessarily a negative; as with Objective C, these are still highly popular languages and communities, but it's worth questioning whether new momentum will arrive and from where, particularly because the communities are experiencing some friction in growing their usage.
It's important to remember Redmonk's methodology. "We extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends."
Having said that, here's the current top ten in Redmonk's ranking:
- JavaScript
- Python
- Java
- PHP
- C#
- TypeScript
- CSS
- C++
- Ruby
- C
Their announcement also notes that at the other end of the list, the programming language Bicep "jumped eight spots to #78 and Zig 10 to #87. That progress pales next to Ballerina, however, which jumped from #80 to #61 this quarter. The general purpose language from WS02, thus, is added to the list of potential up and comers we're keeping an eye on."
PHP (Score:1)
Re:PHP (Score:4, Interesting)
Enterprises don't want to use that because of the perception and sort of truth that PHP isn't meant for clear separation of UI/UX and backend application code. Better to do the UI in some framework such as React or something and the backend is a bunch of API services written in something else. Idea is that you have a separate UI team and backend services team that can fuck up only their own code.
Re: PHP (Score:1)
Re: (Score:2)
Not just with PHP, but Perl, ColdFusion, ASP,
true, but there was one characteristic distinct to php: a totally fucked up library. in those days it was just a huge chaotic collection of function implementations mashed together with lots of inconsistencies between them and even unpredictable behavior. it had a lot going for it, though: being lightweight, simple, reasonably performant, free, easy to install and pick up and i got the job done. but it wasn't a rationalized language system by any strech, and thus was shunned by "serious" developers. a bit l
Re: (Score:2)
Needing to re-factor your code every time a new version of php comes out is a pain. I have code I wrote in another language in 2000 and it still runs fine in the latest version.
Re: (Score:2)
Some languages support older code when they come up with a new runtime. That's what I was saying. So, you can upgrade the runtime as you wish without any other complications like re-factoring your code on every runtime major release upgrade.
Re: (Score:2)
The biggest problem PHP has is that it's an "easy" language:
Re: PHP (Score:2)
PHP has been a disaster since the beginning. People start out as novice programmers who don't know about better with PHP and it happily lets them shoot themselves in the foot. It's as if the language was specifically designed to encourage it, even. Also check out https://reddit.com/r/lolphp [reddit.com] for a long list of PHP fails. Go update your WordPress and all plugins, too. You know it needs it.
CSS is not a programming language [nt] (Score:2)
top 5 (Score:3)
Top 5 tiers in no particular order
Tier 1 - Java/C/C++
Tier 2 - C#/.net
Tier 3 - SQL
Tier 4 - JavaScript/Typescript
Tier 5 - Python/scripting language
Correlate the languages with paying jobs and the Red Monk list will be quite different.
Now, if we could only get language design teams at the major vendors to stop turning each language into a Frankenstein of the cool features from each language.
No amount of the language designer loving Lisp will encourage developers using a C style language to write Lisp like code
Re: CSS is not a programming language [nt] (Score:2)
Neither is Sass, Rich Text Format. Saltstack, Puppet and Bicep, are configuration languages. GLSLbis a shader language. All of which appear on their list
Re: (Score:2)
Neither is Sass, Rich Text Format. Saltstack, Puppet and Bicep, are configuration languages. GLSLbis a shader language. All of which appear on their list
Agreed, it is a pretty useless and meaningless list.
Yet another code ranking? (Score:1)
99 code rankings
pick some down, mix them around
100 code rankings on the wall.
As for these two (Score:2)
Scala: Weâ(TM)re a JVM shop but I donâ(TM)t like Java
Objective-C: I havenâ(TM)t learned Swift yet
Seeing some convergence (Score:3)
One thing I've noticed is that languages seem to be more likely to adopt features from other languages. For example, Java has virtual threads now, which reduces some of the advantage that Golang has over it in heavily asynchronous tasks. GIL-less Python will eliminate one of the major downsides of Python. Typescript has polished the JS turd enough to make it a usable language.
At this point, getting traction for a new language is incredibly difficult. You not only have to fight the uphill battle of other languages having massive collections of libraries, but also the fact that your language's killer feature could very likely be integrated into an existing language.
Re: (Score:1)
Java always had virtual threads.
Re: (Score:2)
At this point, getting traction for a new language is incredibly difficult. You not only have to fight the uphill battle of other languages having massive collections of libraries, but also the fact that your language's killer feature could very likely be integrated into an existing language.
In the case of Rust, you've got a legion of C++ developers who hate it because they view it as a threat to their existing code. It's a problem for them not only because Rust outclasses their language in every way, but because they've got a huge amount of sunk cost spent into it and they know they can't get Rust's killer features (mainly temporal safety without GC and data race safety) without throwing out all of their existing code anyways.
Re: Seeing some convergence (Score:3)
C++ devs in general are pretty practical people, and for the most part, they don't code exclusively in c++.
I'm only speaking of the ones who go out of their way to bash rust. (Hinted at in *a* legion.)
I always aim to use the right tool for the job and sometimes that's c++, and other times it's going to be rust or python or, hell, even perl. Decisions are not made in isolated sterile environments where one can control every aspect of development.
And when you can, everybody has a preferred language. The ones who reach for C++ first are the ones I'm talking about. Why?
- It's a broken language that no longer has an ideal use case that it does particularly well (though some, usually C devs, say it never did.) Think where COBOL currently is.
- Developers of other languages, especially go and python, always tell me they'd like to learn rust some day. C developers
This should be relevant (Score:2)
A bit old since it doesn't include Python or Rust, but this should help [imgur.com] some debating what their favorite language is.
Ai effect (Score:1)
Oh, sure (Score:2)
Any "ranking" system that doesn't rank completely separately...
o Markup (HTML, CSS, Markdown, aa_macro, LaTeX, etc.)
o Interpreted (Python, Perl, Ruby, Javascript, SQL, etc.)
o Compiled (c, c++, c#, etc.)
o Metal (Assembly)
Re: (Score:2)
Quantity vs Quality (Score:2)
Most rankings like these are completely useless because they base language popularity on the volume of code rather than the quality of the work produced using a particular language. What value do 1000 garbage student projects with hundreds of questions on StackOverflow have in comparison to an actual, real-life, money-making product? None.
they forgot English, it's very popular now (Score:1)