Python Developer Survey 2018 Results
7% of respondents do "software testing / writing automated tests" as a hobby? Bravo to those hardy souls.
> It’s quite surprising that 35% of Python users don’t use any testing frameworks and are presumably not testing their code.
That's some olympic-level conclusion jumping there
Never heard of this survey. I guess only people who're using Jetbrains products had filled it... (looks at the editor statistics) yep, sounds like it.
> Surprisingly almost two-thirds of respondents selected Linux as their development environment OS. Please note, for this question we allowed multiple answers. We’re not drawing primary OS popularity conclusions here.
What makes that surprising? A past result? A preconceived idea?
The surveys 9th takeaway is the same:
> Surprisingly, almost two-thirds of Python developers choose Linux as their development environment OS.
... Why is it surprising? Did you expect an equal split? Did you expect Windows to dominate?
There's no answer here. I have no idea why the result is surprising: it fits what I would expect.
JetBrains is so nervous that PyCharm ended up as the most popular Python IDE in a survery that they conducted themselves :)
No worries guys, As a happy CE user, I find it's not only a phenomenal contribution to the overall Python experience but also a huge gesture of goodwill from your part.
Kudos!
I completely dropped PyCharm in favor of VSCode + Kite; PyCharm became unacceptably slow and VSCode fixed their missing pieces; all my Deep Learning/ML workflow is now done either in Jupyter or in VSCode.
Can we say that python 2.x -> 3.x transition is done?
I think there's a mismatch between their classification and that of the people surveyed.
The survey characterizes "Scientific development" as "Data analysis + Machine learning", with 28% of the people selecting one of those two latter categories as the answer for "What do you use Python for the most?"
However, only 6% of the users said they were in a company which did science, and only 2% develop for a science industry.
Now, it's certainly true that a scientist can work for a company which neither does science nor targets science research. As an example, an ice cream company may employ food scientists.
It's also possible that people who do, for example, actuarial science might group themselves as working in "insurance" rather than "science".
But it seems wrong to infer that "Scientific development" is equivalent to "Data analysis + Machine learning" without stronger support.
After all, an engineer uses data analysis to evaluate a design, and while engineering is an applied field of science, with a great amount of engineering science to back it up, I don't think many engineers consider themselves as a scientist or as someone doing scientific development.
Anyone else think the inference from "not using automated testing frameworks" to "are not testing their code" is a little unwarranted?
Its a bit strange that they consider data analysis and machine learning should be put together, yet, web development, dev ops and automated testing shouldn't. I guess my job falls mainly into web development, but I still have to get data out of the database every so often with custom queries, so should data analysis be included there my job as well?
Did the survey miss an important survey choice or is robotics really that low?
The Experience in IT bar chart is underwhelming, it would be nice to see the breakdown by incremental years of experience in IT. NONE of the year ranges span the same number of years. Making a basic inference from the percentages and bins it would seem that Python use is negatively correlated with years of experience.
Kinda surprised (pleasantly?) that Anaconda is the most popular non-official distributor. Though I'm surprised Enthought has almost zero representation. I was considering a move, and though they would be worth the try.
Wasn't there a bunch of questions about how python could be best improved, and what libraries could be better? What happened to all that?
How is it that the largest portion of people responding had over 10 years of experience in software development but the largest portion of people responding were between 21-29 yeas of age?
I use Python as a prototyping tool only, and I mean prototyping in the sense that the code will always be thrown away and rewritten in a more suitable language.
Python sacrifices so much in the way of efficiency, safety, and maintainability that it's hard to justify the wins in expressiveness. Easily checked errors that should have never made it to production manifest at runtime even after rigorous testing. Increasing performance requires moving to asyncio which drastically reduces readability and limits the code reuse from non-async libraries. Eventually code bases grow so large mypy becomes a must, and we have to contend with interfacing untyped libraries and refactoring all of our existing code with annotations.
Python has its place, but in line with how scary modern software practices are to me, it's crazy that Python has become such a mainstay in production software.