Results from the @ThePSF and @jetbrains #PythonDevSurvey show #Python 3 is firmly here, and people are upgrading to the most recent versions each year:
https://lp.jetbrains.com/python-developers-survey-2023/#python-versions
Sure Python3. I wouldn’t say everyone is updating to the latest versions though. 15% of people still on a version that’s over 5 years old is pretty bad. Most modern languages have pretty much everyone on the latest version.
It’s because until very recently getting the latest version of Python has been very difficult (at least on Linux). The official answer for how to do it was “compile it from source” which is kind of ridiculous.
Fortunately we finally have a better option - Rye (and maybe uv now?) can install recent versions for you. Hopefully that will improve matters.
From my experience with legacy codebases, I can say that upgrading a minor version of Python is not the same as seamlessly upgrading a minor version of Go. Mainly because of standard library changes, like deprecations or removals.
Also, corpos usually provide its own system bundles with checked/approved software, which usually include not-so-fresh versions.
@FizzyOrange
> 15% of people still on a version that’s over 5 years old is pretty bad.Which version/year is that?
> Most modern languages have pretty much everyone on the latest version.
I’d be very interested in some stats, if you happen to know some.
> Fortunately we finally have a better option - Rye (and maybe uv now?) can install recent versions for you. Hopefully that will improve matters.
Yeah, uv can do that, I’m also hopeful!
Which version/year is that?
3.8 or less. 3.8 was released 5 years ago.
I’d be very interested in some stats, if you happen to know some.
Not easy to find, but: Rust survey from some years ago. Reddit Node survey (Node actually provides download stats but they’re raw JSON.) You could also figure out Typescript but again probably needs some processing.
Go actually automatically downloads new compiler versions for you.
> 3.8 or less. 3.8 was released 5 years ago.
The survey opened in Nov 2023, when 3.8 was still 4 years old, so 6% was on versions 5 years or older (3.7 and older, the EOL versions).
Thanks for stats. I guess Rust is partly well-updated because of the excellent tooling.
@FizzyOrange
I processed the Node.js numbers:v22: 3.2%
v21: 2.1%
v20: 31.4%
v19: 0.5%
v18: 37.8%
v17: 0.3%
v16: 14.5%
v15: 0.3%
v14: 5.1%
v13: 0.1%
v12: 2.2%
v11: 0.1%
v10: 1.5%
v9: 0.1%
v8: 0.5%
v7: 0.0%
v6: 0.2%
v5: 0.0%
v4: 0.1%
v0: 0.0%
unknown: 0.0%v12 came out on 2019-04-23, 5.5 years ago, so 5% is over 5 years old. Not that different from Python.
I think more importantly, Node.js 18, 20 and 22 are still supported, and we see a similar clustering as Python around non-EOL versions.
@FizzyOrange
Actually, those stats are from 2024-05-02, the last one listed at https://storage.googleapis.com/access-logs-summaries-nodejs/index.html but they do have 2024-09-02 available as well.Slightly more adoption of newer versions, still 5% over 5 years old:
v22: 5.7%
v21: 1.9%
v20: 39.1%
v19: 0.5%
v18: 30.8%
v17: 0.3%
v16: 12.4%
v15: 0.3%
v14: 4.4%
v13: 0.1%
v12: 1.9%
v11: 0.1%
v10: 1.3%
v9: 0.1%
v8: 0.5%
v7: 0.0%
v6: 0.3%
v5: 0.0%
v4: 0.2%
v0: 0.1%
unknown: 0.0%Although 24.4% on EOL versions.