Python Overtakes JavaScript on GitHub, Annual Survey Finds (github.blog) 93
GitHub released its annual "State of the Octoverse" report this week. And while "Systems programming languages, like Rust, are also on the rise... Python, JavaScript, TypeScript, and Java remain the most widely used languages on GitHub."
In fact, "In 2024, Python overtook JavaScript as the most popular language on GitHub." They also report usage of Jupyter Notebooks "skyrocketed" with a 92% jump in usage, which along with Python's rise seems to underscore "the surge in data science and machine learning on GitHub..." We're also seeing increased interest in AI agents and smaller models that require less computational power, reflecting a shift across the industry as more people focus on new use cases for AI... While the United States leads in contributions to generative AI projects on GitHub, we see more absolute activity outside the United States. In 2024, there was a 59% surge in the number of contributions to generative AI projects on GitHub and a 98% increase in the number of projects overall — and many of those contributions came from places like India, Germany, Japan, and Singapore...
Notable growth is occurring in India, which is expected to have the world's largest developer population on GitHub by 2028, as well as across Africa and Latin America... [W]e have seen greater growth outside the United States every year since 2013 — and that trend has sped up over the past few years.
Last year they'd projected India would have the most developers on GitHub #1 by 2027, but now believe it will happen a year later. This year's top 10?
1. United States
2. India
3. China
4. Brazil
5. United Kingdom
6. Russia
7. Germany
8. Indonesia
9. Japan
10. Canada
Interestingly, the UK's population ranks #21 among countries of the world, while Germany ranks #19, and Canada ranks #36.)
GitHub's announcement argues the rise of non-English, high-population regions "is notable given that it is happening at the same time as the proliferation of generative AI tools, which are increasingly enabling developers to engage with code in their natural language." And they offer one more data point: GitHub's For Good First Issue is a curated list of Digital Public Goods that need contributors, connecting those projects with people who want to address a societal challenge and promote sustainable development...
Significantly, 34% of contributors to the top 10 For Good Issue projects... made their first contribution after signing up for GitHub Copilot.
There's now 518 million projects on GitHub — with a year-over-year growth of 25%...
In fact, "In 2024, Python overtook JavaScript as the most popular language on GitHub." They also report usage of Jupyter Notebooks "skyrocketed" with a 92% jump in usage, which along with Python's rise seems to underscore "the surge in data science and machine learning on GitHub..." We're also seeing increased interest in AI agents and smaller models that require less computational power, reflecting a shift across the industry as more people focus on new use cases for AI... While the United States leads in contributions to generative AI projects on GitHub, we see more absolute activity outside the United States. In 2024, there was a 59% surge in the number of contributions to generative AI projects on GitHub and a 98% increase in the number of projects overall — and many of those contributions came from places like India, Germany, Japan, and Singapore...
Notable growth is occurring in India, which is expected to have the world's largest developer population on GitHub by 2028, as well as across Africa and Latin America... [W]e have seen greater growth outside the United States every year since 2013 — and that trend has sped up over the past few years.
Last year they'd projected India would have the most developers on GitHub #1 by 2027, but now believe it will happen a year later. This year's top 10?
1. United States
2. India
3. China
4. Brazil
5. United Kingdom
6. Russia
7. Germany
8. Indonesia
9. Japan
10. Canada
Interestingly, the UK's population ranks #21 among countries of the world, while Germany ranks #19, and Canada ranks #36.)
GitHub's announcement argues the rise of non-English, high-population regions "is notable given that it is happening at the same time as the proliferation of generative AI tools, which are increasingly enabling developers to engage with code in their natural language." And they offer one more data point: GitHub's For Good First Issue is a curated list of Digital Public Goods that need contributors, connecting those projects with people who want to address a societal challenge and promote sustainable development...
Significantly, 34% of contributors to the top 10 For Good Issue projects... made their first contribution after signing up for GitHub Copilot.
There's now 518 million projects on GitHub — with a year-over-year growth of 25%...
Indian programmers (Score:1)
Ever seen one actually do the needful?
Re: (Score:2)
Note. That was a joke, I am not a racist. I know there are some really great Indian programmers.
Github says Python's overtaken Javascript?! (Score:5, Funny)
Quick! Someone better post a story with the latest TIOBE numbers, pronto! It's been weeks since the last one!
Python (Score:1)
The No.1 language for lazy devs who bumbledev kludges then link them all togethere and pass the mess off as a solution.
All the while sucking in huge chunks of compromised PyPi packages, flooding the world with all sorts of fascinating malware.
Re: (Score:2, Informative)
And javascript is in any way better in any of those respects?
Like I'll be the first to acknowledge that Python has problems, but the JS ecosystem is a blight.
Re: (Score:2)
I don't know of any "ecosystem" that isn't a cesspit. CTAN seems to be one of the best, but only because the community is so small. There's still a lot of crap in it.
As far as languages go, JS is far and away the better language in terms of design than the horror show that is Python. It's like a bad joke.
Re: (Score:2)
That was a good one. Python is surely not a very good language design, but JS had no design whatsoever since the very beginning, its origin being a dirty hack by the Netscape developers to add interactivity where it didn't belong. INTERCAL is a better designed language than JS.
Re: (Score:2)
I have absolute no idea why people keep claiming Python is a bad design. It is not. It is a pretty good design. Maybe people lack comparison?
Re: (Score:2)
Inconsistence, bad multiple comparison design before 3.10, explicit typing is essentially a hack. And Python 2 was no better than PHP.
Re: (Score:2)
Compared to the healthy and effective explicit typing of... javascript? That's the context of this conversation, remember?
Re: (Score:2)
explicit typing is essentially a hack
That is not a criticism. It just means you are using it wrong. And as a side-note: Strict/explicit typing is overrated. It is a crutch for the incompetent. Same as OO, its "on steroids" form.
Re: (Score:2)
You can't be serious. What on earth makes you think that clunky and inconsistent mess is well-designed?
Re: (Score:2)
Having used it in some larger projects? What do you have as basis for the claims of "clunky" and "inconsistent"?
Re: (Score:2)
What? It's notoriously inconsistent. It has inconsistent syntax. Function interfaces are inconsistent. I can easily go on, as can you, if you want to be honest.
As for "clunky", that's admittedly a matter of opinion, but I think it can be justified on the basis of objects and classes alone.
Oh, has Guido figured out how `print` should work yet or is it still incomprehensibly stupid?
Re: (Score:2)
So, in other words and ignoring your pathetic blustering, you still have nothing. Thanks for confirming that. I am going to ignore anything more you wrote on the subject now.
Re: (Score:2)
LOL! Are you seriously claiming that Python has consistent syntax and that its function interfaces are consistent? Are you even remotely familiar with the language?
I am going to ignore anything more you wrote on the subject now.
So what? You've ignored everything I've written already!
I'm sorry that reality doesn't agree with your silly beliefs. That's not my fault. Try believing fewer stupid things.
Re: (Score:2)
You don't have a clue. The language itself might have been designed quickly, but that seems to have been to its benefit. It's often been described as 'lisp with C syntax'. It almost was lisp, until the higher-ups found out what that was and insisted he (Eich) make it look more like Java. The result was a very simple but powerful and expressive little language. The early warts, like the 'new' keyword, were forced on it. Fortunately, until recently, it could be completely ignored. Most of the flack, I
Re: (Score:2)
And javascript is in any way better in any of those respects?
Hell no! I just don't have to deal with it all that much so can't claim an informed opinion.
Re:Python (Score:5, Insightful)
_Real_ bad coders can write bad code in any language!
Re: (Score:2)
_Real_ bad coders can write bad code in any language!
Yup, and then you have to deal with this [imgur.com].
Re: (Score:2)
And javascript is in any way better in any of those respects?
Like I'll be the first to acknowledge that Python has problems, but the JS ecosystem is a blight.
It's so bad, it's affecting [imgur.com] the dating scene.
Re: (Score:2)
Re: (Score:2)
Soo, when I stay with Python after having done real work in C, Eiffel, Pascal, Lua, Perl and some others, what does that say about me?
Re: (Score:2)
Re: Python (Score:2)
Re: (Score:2)
Sound reasoning? Here is one: You are the accuser, please come up with a _credible_ accusation first.
Re: (Score:2)
What are you, 12 years old? That answer might sound good in a high school debate class, but in the real world, Prima Facie an idiot uses Python.
Re: (Score:2)
So, you actually have nothing? Figures. And you have not even addressed the issue. "An idiot uses Python" (let's assume that is true) does not imply "Somebody using Python is an idiot". Implication vs. equivalence, the hill many not-so-smart people die on.
Typical "hater" approach though: "I don't like it and anybody using it is a moron." Needs to be given without reasons or some fake reasons (you gave one).
But yes, I fell for it. Now stop trolling.
Huh? (Score:2)
Re: (Score:2)
IP addresses, probably.
Re: (Score:2)
Or by name.
But obviously an Indian name or Chinese one could come from everywhere.
Non-English programmers? Maybe, but probably not. (Score:5, Interesting)
GitHub's announcement argues the rise of non-English, high-population regions "is notable given that it is happening at the same time as the proliferation of generative AI tools, which are increasingly enabling developers to engage with code in their natural language."
Maybe, or maybe not. I'm not sure I'd automatically assume that the rise in programmers in other countries is necessarily because language barriers are being broken down more easily. That could certainly be true, or it could just be that the youth are realizing that tech is a gravy train, and are jumping on it in larger numbers. And it's hard to say how many of them speak English.
Critically, the percentage of English speakers among programmers is not necessarily all that similar to the percentage of English speakers among the general population. To use India as an example, depending on who you ask, anywhere from 10% to 30% of people in India speak English. But:
When you realize that most of the new programmers are likely to be younger members of upper social classes and living in urban areas, you're multiplying all of those scaling factors together, and the percentage of English speakers could be *very* different from the general population.
So it's not necessarily as easy as saying "This country is predominantly non-English, so most of these new programmers are probably non-English speakers." Maybe they are, maybe they aren't.
And of course, even if they are, it seems far more likely that the language barriers are being broken down by translation tools like Google Translate rather than by generative AI nonsense. Maybe generative AI made a lot of people able to write simple code without having to have as solid a grasp of program flow and logic, but that's a different kind of language barrier that we're talking about at that point.
Significantly? (Score:2)
How do they extract any significance from that datum? It can't be that they asked "Would you have made a contribution if Copilot didn't exist?", because if they had asked that then the responses to the question would be what they cite. So the only thing the statistic really demonstrates is that they've successfully convinced a certain number of people that signing up
These results are due to a software error. (Score:3)
The tracker crashed due to a buffer overflow when counting JavaScript Frameworks.
Hate (Score:5, Insightful)
br>Time is the thing i am in most short supply of, and i just don't have enough of it to be wasting it on religious battles over languages. I go to the tool that will let me do what i need the easiest and the fastest.
Re: (Score:1)
Re: (Score:2)
Besides, when you have brackets you want it indented *anyway*.
Re: Hate (Score:2)
Yeah, but with bracketed languages, the brackets dictate the indentation. So when you are making code edits and copy/pasting auto-formatters can deterministically figure out the correct intent with very little effort from the user. When relying on indentation, you become subject to the vagaries of the current editor state or the formatting of the source of the copy.
I'm not anti-indent-only or anti-python, but there some clear benefits to requiring brackets when it comes to editing code.
Re: (Score:2)
Re: (Score:3)
Yep, same here. My guess is there are a lot of "one language wonders" out there that simply cannot evaluate Python competently and then latch on the indention and think it was an important (bad) language feature.
Re: (Score:2, Troll)
Pip install ldap3 and a three line script an I'm done.
Precisely this. Kludges all the way down and zero concept of what the code is, what it does or how secure it is.
To be fair,, you're also still using LDAP so... it's a moot point.
Python is the go-to for unmaintable, once-off, kludges. This isn't development. This is how we develop technical debt.
Re: (Score:2)
Re: (Score:2)
You have a very different definition of kludge than i do. .
If filthy hack doesn't meet with your "definition", it does not make it any less filthy. It was thrown together with the least amount of effort to fulfill a single, narrow, use case and left there in production as a snare for future maintainers. It's the cancer that Python encourages and the reason for the aforementioned hate.
It is absolutley possible to produce good code in Python. Yet the majority of solutions end up being a leaning tower of kludges, copy-pasted from ChatGPT or some random site with zero
Re: Hate (Score:2)
Re: (Score:2)
So if i haven't done the correct amount of responsible work then you will never like it?
Being irresponsible, lazy and short-sighted is not heroic. Quite the opposite.
Re: (Score:2)
Re: (Score:2)
Maybe this is a prototype to be used once and then build it properly.
You're describing a kludge. Congrats. Now guess how often anyone is actually going to revisit it? A number so vanishingly small it may as well be zero.
Re: (Score:2)
Re: (Score:2)
I programmed something in ten times less lines that did exactly what I wanted.
No. You didn't. You consumed the work of some faceless, unqualified, package maintainer and used it with zero assessment as to fitness, security or support. That's what you did. Nothing more.
No one needs to go back to it.
I am the only person who works on this part.
False assumptions that serve as further evidence you are *not* a developer. Also assumed is your immortality.
Pretty solid bet you provided zero unit tests as well.
Re: Hate (Score:2)
Re: (Score:2)
you call me a liar rather than admit you are wrong.
I asnwered the original question factually. Where was I "wrong"? What am I "wrong" about?
Re: (Score:2)
No. You didn't. You consumed the work of some faceless, unqualified, package maintainer and used it with zero assessment as to fitness, security or support. That's what you did. Nothing more.
Yet i had told you there were no other developers so either you didn't read or you called me a liar.
False assumptions that serve as further evidence you are *not* a developer.
I graduated from a university with a computer Science degree. I had to complete a lot of programs to do it. Does that not make me a developer? Either it doesn't or you are calling me a liar.
Re: (Score:2)
Original question: I don't get the hate for Python
Me: Here's why.
You: Wharrgarble!
Get help. Your victimhood is showiing.
Re: (Score:2)
Name a better dynamic language (Score:2)
Most common languages are full of kludges and ugly add-on syntax. Expectations, fads, and state-of-the-art changes over time. Even a brand new language today will look out-of-date or over-kludged 30 years from now (when AI takes over and consumes our bodies for energy).
Yes, Python sucks, but so do existing competitors. I welcome decent alternatives, but have yet to see them.
Re: (Score:2)
Not in my experience. Just recently, we had had to connect a third-party piece of software to a messaging server (IBM MQ). I did it in Python in a couple of weekends, with about 300 lines of code. Unfortunately, we're officially a C# shop, so they paid a consultant to write a new program in C#. It took him eight months and I don't know how many lines of code.
Sorry, but I don't see how you could call 300 lines of code unmaintainable.
Re: (Score:2)
I don't see how you could call 300 lines of code unmaintainable.
Pointing to an anecdotal edge case is a mistake.
I didn't say you couldn't produce robust, maintanable code in Python. I said the language accepts, embraces and encourages garbage code.
Re: Hate (Score:2)
Re: (Score:2)
No true scottsman fallacy.
1 - Wrong context
2 - Your victimhood is showing. Get heklp
Re: (Score:2)
I don't get the hate for Python.
haters gonna hate, boredom, miserable existence in shitty jobs, issues to compensate for, small penises, etc. ...
i wouldn't expect to find much serious argument or rich technical discussion in the comments about a language popularity contest. it's just clickbait for rants and entertainment. not only are these rankings based on completely arbitrary metrics and silly assumptions, language popularity is hardly a meaningful characteristic for any serious developer to begin with.
ofc python is just another tool w
Re: (Score:2)
Re: (Score:2)
I don't get the hate for Python.
When I was looking at learning Python one of the first things that happened was I copied a code example from the web and pasted it into my editor and all the formatting was lost so the code was worthless.
With a real language I could have run the code through a reformatter and it would have worked again.
Using character offsets to control program flow is something we left behind when we moved away from punch cards. We moved away from it for a reason, and the reason was that it was bad. Python deliberately bro
Re: (Score:2)
Re: (Score:2)
I can't say I have ever really had that problem.
It's not a problem for you, so it's not a problem for anyone! You are the only one who matters! I'm so glad we identified you so we can know what actually matters!
How about the fact that Python performance is complete shit? It's slower than Perl was a decade ago.
Re: (Score:1)
I'm sorry if it's a problem for you; I thought that was just part of being a developer. That will probably mean that you miss out on a lot of the enjoyment and opportunities as a developer.
Re: (Score:2)
Here's the thing I don't get. You value highly readable code. So when you copy C++ code from a shitty website don't you fix the indentation anyway?
No, the IDE does it, like it can't do with Python. Why would I do work the software can do for me?
I'm sorry if it's a problem for you; I thought that was just part of being a developer. That will probably mean that you miss out on a lot of the enjoyment and opportunities as a developer.
Oh, you missed the plot there. I'm not a "developer", to the degree I am anything tech any more (I'm not currently employed in tech) I am a sysadmin. I do not want to spend all my time dicking with code, coding is something I do when there's a problem I can't solve some other way and move on to the next problem. But you also can't be a sysadmin without being able to do some coding. Most of it is scripting, tho
Re: (Score:2)
Re: (Score:2)
Lol.. ok you use an IDE to help you all the time.
I didn't say that, but I guess we've already established that you can't read and make stuff up to make the story make more sense to you, so I don't find your lack of reading comprehension surprising.
Re: (Score:2)
Re: (Score:2)
You are so addled you can't imagine someone firing up an IDE when they want to use IDE features?
Are you sure you even know how to turn a computer on?
Re: Hate (Score:2)
Re: (Score:2)
I'd call vim an IDE personally. It's the only thing I use. And to reindent:
gg=G for the entire file or =% for a block. Actually I more normally do v%=, it's an extra keystroke but it makes it obvious if the reindent isn't going to operate on the bit of code I expected. I particularly hate ending up with arbitrary white space changes mixed in with functionality changes. They should be kept in separate commits.
My particular peeve is that you cannot comment out bits of code to test code paths that aren't norma
Re: (Score:2)
Re: (Score:2)
Yes, but that doesn't work if you comment out an if statement but not (all of) its body because then the indent is wrong.
C doesn't care so long as the braces are matched.
I'll typically do v, select the block to comment and then :s/^/#/ - I don't (usually) have line number showing in vim, waste of screen real estate. And I use C-V to select the column and delete it again.
(who knows how to indent on /.)
I can't
Re: (Score:2)
Re: Hate (Score:1)
Re: (Score:2)
Re: (Score:2)
Some people seem ready to hate on particular features but it seems more of a fit and tooling problem to me. If things don't fit your brain then it can be hard to appreciate them. If the tools you are comfortable using can't take advantage of particular features then those features become worthless to you. To take a stab at some of the common complaints:
Dynamic typing and the way variable scope works in Python means that a compiler can't catch as many errors. To people used to using a compiler to catch er
Re: (Score:2)
Re: (Score:2)
The thing is, most programs these days don't even do a lot of heavy computation, it's more about connecting slower IO connections like files or databases or network resources. Python has some pretty good libraries to handle that with clean syntax so it can end up being faster than a C++ program that executes the local computation faster but handles IO inefficiently
Interesting thought (Score:1)
GitHub's announcement argues the rise of non-English, high-population regions "is notable given that it is happening at the same time as the proliferation of generative AI tools, which are increasingly enabling developers to engage with code in their natural language."
Programming language has always mattered less than the ability to think logically and, you know, program ...
And just as pocket internet connected computers have made metric vs. standard units matter less and less with each passing year, so perhaps will generative AI tools make choice of language matter less and less.
Re: (Score:2)
Re: All code !== all code (Score:2)
Well, if the rise of Python is due to massive tech layoffs it says something completely different than if it were the result of companies using more Python to write AI programs. Context is key.
The App Store Lesson. (Score:2)
Last year they'd projected India would have the most developers on GitHub #1 by 2027, but now believe it will happen a year later..There's now 518 million projects on GitHub — with a year-over-year growth of 25%...
Having 518 million projects sounds impressive, doesn’t it? Gets investors attention. Might even justify an article or two in CIO Weekly, right? Replace “projects” with “apps” and tell me where your enthusiasm went.
One would think we learned this lesson with the App Store Wars. Even they stopped bragging about how many tens of thousands of apps they have. Says a lot about this kind of bigger-dick marketing strategy. Quality matters. We know that more than ever living in a
Copy and paste as needed. (Score:2)
When was the last survey? (Score:2)
Re: (Score:2)
Most slow CRUD apps I've seen are from people who don't know how to use an RDBMS properly, having their app do database-esque things instead of the database. Right-Tool-For-The-Job.