Python Developer Survey: 55% Use Linux, 6% Use Python 2 (jetbrains.com) 68
Some interesting findings:
- Though Python 2 reached "end-of-life" status in April of 2020, last year's survey found 7% of respondents were still using Python 2. This year's survey found that number has finally dropped... to 6%.
"Almost half of Python 2 holdouts are under 21 years old," the survey results point out, "and a third are students. Perhaps courses are still using Python 2?"
- Meanwhile, 73% are using one of the last three versions of Python (3.10, 3.11, or 3.12)
- "The share of developers using Linux as their development environment has decreased through the years: compared with 2021, it's dropped by 8 percentage points." [The graphic is a little confusing, showing 55% using Linux, 55% using Windows, 29% on MacOS, 2% on BSD, and 1% on "Other."]
- Visual Studio Code is the most popular IDE (22%), followed by Jupyter Notebook (20%) and Vim (17%). The next-most popular IDEs were PyCharm Community Edition (13%), JupyterLab (12%), NotePad++ (11%) and Sublime Text (9%). Interestingly, just 23% of the 25,000 respondents said they only used one IDE, with 38% saying they used two, 21% using three, and 19% using four or more. [The annual survey is a collaboration between the Python Software Foundation and JetBrains.]
- 37% said they'd contributed to open-source projects within the last year. (77% of those contributed code, while 38% contributed documentation, 35% contributed governance/leadership/maintainer duties, and 33% contributed tests...)
- For "age range," nearly one-third (32%) said 21-29 (with another 8% choosing 18-20). Another 33% said 30-39, while 16% said 40-49, 7% said 50-59, and 3% chose "60 or older."
49% of respondents said they had less than two years of programming experience, with 33% saying "less than 1 year" and 16% saying "1-2 years." (34% of developers also said they practiced collaborative development.)
And here's how the 25,000 developers answered the question: how long have you been programming in Python?
- Less than 1 year: 25%
- 1-2 years: 16%
- 3-5 years: 26%
- 6-10 years: 19%
- 11+ years: 13%
So what are they doing with Python? Among those who'd said Python was their main language:
- Data analysis: 44%
- Web development: 44%
- Machine learning: 34%
- Data engineering: 28%
- Academic research: 26%
- DevOps / Systems administration / Writing automation scripts 26%
- Programming of web parsers / scrapers / crawlers: 25%
62% were "fully employed by a company," while the next-largest category was "student" (12%) with another 5% in "working student". There were also categories for "self-employed" (6%), "freelancer" (another 6%), and "partially employed by a company" (4%). Another 4% said they were unemployed.
In other news, the Python Software Foundation board has also "decided to invest more in connecting and serving the global Python community" by hosting monthly "office hours" on their Discord channel.
Finally (Score:5, Funny)
Re:Finally (Score:5, Interesting)
I'm not yet 60, but have done very little in Python and prefer compiling languages since when I tried out Python I discovered that it has many of the shortcomings interpreting Basic had in the 80's.
One shortcoming is that if a function is changed in a called file you won't discover that until you run the program and try to call that function while in a compiling strong static typing language you'd won't even be able to run the program until it compiles correctly.
You may say that there are Python checkers and compilers out there, but not everyone uses them and if you are using source files from others, like in a larger project you'd experience a lot of code rot.
Re: (Score:2)
I have developed soft spot for Python since it so easy in some ways. Your points are valid and I still prefer C for embedded coding.
As a starter language Python is much better than Basic but if students are serious about coding they really need to master a language like C so the
Re: (Score:1)
You can very well dereference a null/NIL pointer in Modula II.
And get a core dump or similar crash.
Re: (Score:2)
> old school Modula 2.
I'm not the OP but I used Modula-2 for a course in university. I ditched it when I discovered the TopSpeed Modula-2 compiler transpiled to C. Modula-2 is a like a less brain-dead language of Pascal, but still brain dead. I wouldn't want to wish it upon my worst enemy -- that would just be outright cruel.
> Actually, lets start them with assembler, ...
Agreed. 6502 assembly language is a good beginner language. It is simple with only 56 instructions but has all the -- pardon the p
Re: Finally (Score:2)
Re: (Score:2)
The 6502 doesn't have a division instruction either.
It is an excellent opportunity to dive into the details of how multiplication and division can be implemented with bitshifts, etc.
Re: Finally (Score:2)
Re: I use FORTRAN 77 more than I use python (Score:2)
s/latter/former/
Re: (Score:2)
Deployment (Score:4, Interesting)
Re:Deployment (Score:5, Informative)
It won't as long as Python Frameworks (Django, looking at you) keep obsoleting code developed on earlier versions.
I have a project that runs once a year, and for a couple weeks is used intensely, then goes away 'til next year.
Year over year, I have to make stupid changes to code whose functionality hasn't changed because the underlying Django framework has been updated a few times, and moved out from under working code.
"Hey Your Old Code Is Still Working, Just Keep Old Django!"
Nope, It's been updated to close exploits, and I have to take the unrelated obsoleting if I want to stay secure.
Re: Deployment (Score:2)
Re: Deployment (Score:4, Funny)
Python doesn't have pointers or direct memory access, so it doesn't have security problems. Really, I'm not even joking.
Sounds like Python doesn't need to be rewritten in Rust, right?
I bet the Rust crowd will hate hearing that.
Re: (Score:1)
Security problems can be on every level.
Remember that Java Logging Library problem?
Some developer thought it is smart to be able to pull in classes into the runtime from remote hosts.
So that suddenly got exploited. Aka, I sneak in something, that pulls a class from my host.
Django is a web framework, basically a web server written in Python with some abstractions for workflows and database access etc.
I do not know what security problems they have/had. But it can be on any level. Like mailing out confidential
Re: Deployment (Score:2)
Re: (Score:1)
I get it. Today is your ironic and/or sarcastic day.
Don't get Rusty, keep that up!
Re: Deployment (Score:1)
Re: (Score:1)
And I was just about to hone my old PERL skills and dive into PERL 6, but they changed it to Raku and Rakudo - sigh, my Japanese is Rusty ... not sure if they even have a English documentation?
As Larry Wall is a linguist, I assume the reference documentation is in cuneiform?
Re: (Score:1)
The people who relentlessly underplay the massive shitshow of security in C are no better than the rust fanatics.
Re: Deployment (Score:2)
Re: (Score:2)
Haters are as tedious and uninsightful as fanbois. The former are usually C fanbois which is a double whammy of stupid.
Re: Deployment (Score:2)
Re: (Score:2)
Ok it's nice of you to self-identity, but it's clear your a hater of C++
You need better glasses, bro.
I like C++, probably my favourite language. I like it to the point where I've done tedious work on proposals. Ultimately accepted, so yeah I've even contributed, albeit a tiny tiny bit, to the standard. I'm not foolish enough to believe it's perfect or that "trust me bro" is the solution to the memory safety problems.
what are you a fanboy of? Python?
sed
Re: (Score:2)
Django could have things like SQL injection vulnerabilities, just like a web server written in any other language, including Rust.
Re: (Score:1)
Re: Deployment (Score:2)
Will look into it, thanks!
Re: (Score:2)
Re: (Score:3)
I have FORTRAN code that's technically been upda
Re: (Score:2)
"Almost half of Python 2 holdouts are under 21 years old," the survey results point out, "and a third are students. Perhaps courses are still using Python 2?"
No, because certain software integrated python 2.x and they are still using that software. For example Ren'Py relies on PyGame-SDL2 which relies on SDL2 (not 3), and not PyGame.
People still hanging on to Python 2 for Blender 2.4 who refuse to change their workflow
But more importantly, Python needlessly inflates it's version numbers (like PHP do
The Python 2 thing... (Score:5, Interesting)
I'm thinking it's YouTube.
I assist another OpenSource project, that hit its stride a decade ago. There are a ZILLION YouTube videos talking about how to install that decade-old version, manually installing Java, giving lots of - what would have been good advice 10 years ago, but is TERRIBLE advice for the latest version, and sure to complicate users' lives.
It'd be nice if there was a way to flag YouTube videos as Way Out Of Date, or "Zombie" or something, but YouTube doesn't make it easy to do so and _get it seen_.
Re:The Python 2 thing... (Score:5, Informative)
Re: (Score:2)
Don't look at videos or really any web content that is older than 4 years on a topic unless it's dealing with EXACTLY the version number of the thing you're using. Also, ignore any web content made after 2022, that's when the AI/LLM/GPT enshittening-the-web-mill reached maximum speed.
Honestly at this point what developers really need is a new "stack overflow" type of site that is actually organized by language and library dependency. Gawd do I ever hate looking up something for JavaScript and getting all th
Re: (Score:2)
Re: (Score:2)
I'm thinking someone got the bright idea to "upgrade" some legacy system using python thinking it will be future proof and then python 3 breaks compatibility. Now they're stuck because maintaining is easier than fixing the problem.
Re: (Score:1)
Most these surveys are about asking developers about new or ongoing projects, so of course python 3 is the answer. But how much python 2 is running the world's important things? That's almost all we have at work, and I'm talking about a place that pulls in over a billion in revenue.
there is about 3 to 4 years more support for that in some major distros, but the time will come when legacy stuff won't have any security or bug updates.
Just wondering if there is poll about use, not asking developers but othe
Re: (Score:3)
If there are billion dollar companies relying on Python2, then I'm sure some enterprising outfit will sell them security patches for decades into the future. The price for the support will undoubtedly be set to be just a smidgen lower than what it would cost to port the code to Python3.
Re: (Score:2)
Re: (Score:1)
There are great talks on YT about conferences, obscure languages, neat ideas, or whatever.
But if you use a video to learn how to code or install basic software: then there is something seriously wrong in your mind.
A average person reads 4 times faster than watching a video.
And you can copy/paste the commands if appropriated.
Re: The Python 2 thing... (Score:2)
Well, WRT our decade-old version, the install at that time WAS a fraught, royal pain. One of the major improvements: installers for Mac, Win, Linux that don't litter your machine with now-insecure versions of Java.
Re: (Score:2)
It'd be nice if there was a way to flag YouTube videos as Way Out Of Date
The videos have dates on them. You can sort searches. That pretty much says it all. But I have an alternate proposal. People are maintaining legacy code bases that are a pain to convert to Python 3.
Re: (Score:2)
I'm thinking it's YouTube...There are a ZILLION YouTube videos talking about how to install that decade-old version, manually installing Java, giving lots of - what would have been good advice 10 years ago, but is TERRIBLE advice for the latest version
That's a plausible explanation for the under-21 crowd, although I would have expected them to be overwhelmed by newer videos mentioning why you ought not use Python 2. Shoot, even in 2014 it was pretty clear you shouldn't start anything new in Python 2.
I think another reason is simply legacy code. My previous employer just loved inventing new test frameworks, first in Ruby, then Python 2, then Python 3, then a new Python 3 framework. Each time we invented a new one, there was never a business case for re-fa
Re: The Python 2 thing... (Score:2)
"6% Use Python 2" (Score:1)
Re: (Score:2)
I'm not sure a 94% adoption rate, in the most popular programming language, counts as "the biggest software disaster ever".
Yeah the transition sucked, but IMO it's better than living with mistakes introduced in the language during the 90s forever.
but what about use? asking developers is one thing (Score:2)
All the python I see at job and with employers' partners is Python 2, not much under development but processing data.
Would be curious about percent use in science, industry, analytics companies.... but not asking developers. In other words, how much python 2 is the world stuck with that will be out of support by all the major linux distros in 4 years.
Re: (Score:3)
I hope none. Why can't we let tech get obsolete? Holding onto to ancient technology is stupid, really. Just fucking delete it, rm /bin/python .. how hard is that? Keep it in the museum. You can tell your grandkids .. back it my day we could just print without parentheses. And we had to type our own code, AI wouldn't just do it for us.
Re: (Score:2)
You're funny but your money and insurance claims are processed by code with parts that are decades old. The serious stuff isn't disposable LAMP or other crap stack code that can come and go like fashion. Companies that have hundreds of thousands or millions of lines of code aren't going to just throw it away because "it's old"
Indeed if Python had a more mature philosophy there would be a way to run Python 2 code without modification, the languages that have stood the test of time and that are still used (
Re: (Score:3)
from wikipedia's article on the Mythical Man Month
The second-system effect proposes that, when an architect designs a second system, it is the most dangerous system they will ever design, because they will tend to incorporate all of the additions they originally did not add to the first system due to inherent time constraints. Thus, when embarking on a second system, an engineer should be mindful that they are susceptible to over-engineering it.
Re: (Score:1)
It is probably only a link to the real python or a helper script, that starts the python you need, depending on environment.
Re: (Score:2)
"Why can't we let tech get obsolete? Holding onto to ancient technology is stupid, really. Just fucking delete it"
I must assume that you are offering to pay *all* the costs of replacing it.
Re: but what about use? asking developers is one t (Score:2)
Python 2 (Score:2)
If you have a script that requires Python 2, you use Python 2. Or you do the manual and error-prone process of porting that script over to python 3, where strings and byte arrays are no longer the same type.
Biased (Score:5, Interesting)
This poll is from pycharm, clearly aimed with a commercial mindset. For example, WingIDE has been around for decades and is on par (in my view superior) with pycharm, but always conveniently left out of the options
I Wonder (Score:5, Interesting)
(QUIT USING 2.7!!) (Score:2, Offtopic)
(I FUCK HATE 2.7 !!!)
(I don't like not putting shit in parentheses.)
Re: (Score:2)
"(I don't like not putting shit in parentheses.)"
Ah, a LISP programmer.
Re: (Score:2)
(defunitely)
Only 55% Linux? (Score:1)
Only 55% Linux, given how much mess wheels with complicated dependencies are on Windows?
Who could have known masochism is so wide-spread?
Re: (Score:2)
Windows isn't the only other option. There is MacOS, and FreeBSD which is what I use.
Re: (Score:1)
Young Python 2 coders? (Score:4, Interesting)
I'm wondering how many of them are stuck in legacy projects because they're junior programmers.
"No, we don't let programmers with two years of experience do a major language port."
Vim is an IDE! (Score:3)
Vim is an IDE! Woohoo! It's all-powerful!
Doubts about their sample (Score:2)
They did a survey of 25000 people and 25% used Python less than a year? That doesn't sound representative at all. It sounds like the survey either targetted or was advertised to a very young group with lots of students, and any results from it need to be weighed like you would a political poll.