|What Makes Python Great & Greater|
|Written by Mike James|
|Wednesday, 03 March 2021|
In this second look at the results of the Python Developers Survey 2020, we focus on the features in Python that developers value and those they would like to see in future versions.
We have often reported on Python's popularity, noting the way it comes in one of the top positions on the various league tables of programming languages - but the fact is that developers who program in Python generally enjoy using it and like its features.
The Python Developers Survey 2020 was conducted last October and attracted over 28,000 respondents, as noted by Janet Swift in her initial report on the survey, What is Python Used For?. It included an open question that provide an insight into what developers like about Python. The survey asked:
“Which 3 features in the Python language do you like the most?”
Here are the features that were nominated by more than 10% of respondents:
The problem with open questions is of course that it relies on the knowledge and imagination of the respondents. Being easy-to-learn and a high-level language shouldn't really be considered Python features yet these are what topped the list of favorites. Some of the items nominated by fewer respondents would have rated higher on my personal list - List and Dictionary, Decorators and perhaps even the import system. These might have been more popular had the question been in terms of choosing three items from a supplied list. My very favorite feature of Python, which boils down to "Everything is an Object". However, the power of Python's system of classes, metaclasses and modules wasn't even mentioned.
Another open question,
“What 3 language features would you like to be added to Python?”
was used to compile a league table of desired features, and these are the ones that were nominated by more than 10% of respondents:
All I can say is that the 21% wanting static typing are not Python users, just users of other langauges who have wandered into Python by accident. How can this square with the fact that 20% think that dynamic typing is a favourite feature!?!
In order of preference my three votes would go to:
1) Better Support for GUI libraries (a standard GUI)
2) Remove the GIL
3) Adopt operators from other languages
Each of these topics had between 4% and 5% in respondents answers but the majority (56%) of answers were specified by less than 1% of respondents so there were lots of ideas but little consensus which presents a problems for those working on Python's next release.
Python, of course, has something of a chequred history when it comes to updates. Python 3.0 launched in December 2008 but was incompatible with Python 2.x. Initially the Python 2 End of Life was scheduled for 2015 but in 2014 it was extended by 5 years until 2020 to give its users time to migrate and in particualar for there to by Python 3 versions of its many libraries. So the transition from Python 2 to Python 3 was a very extended affair and the final release of the 2.x branch, Python 2.17.16 was in April 2020, almost 4 months after Python 2's official end of life. At the time of the first Python Developers Survey in 2017, 25% of those surveyed used Python 2, this proportion has fallen steadily over the years and now stands at just 6%
The most recent version, Python 3.9 reached general availability in October 2020 - around the time of this survey and 12 months after the 3.8 release. It is therefore not surprising that it was Python 3.8 that was the most used version of Python 3, with a 44%. However 12% had already upgraded to Python 3.9.
Looking at the Python development environment it is interesting to notice that Linux is used by over two thirds of respondents, well outstripping Windows which was used by just under a half.
The report comments on this finding:
The more experienced the Python developers are, the more likely they are to use Linux and macOS as development environments, and the less likely they are to choose Windows.
To identify the most popular editors and IDEs, respondents were asked for a single answer to the question “What is the main editor you use for your current Python development?” Perhaps unsurprisingly given that the survey was conducted by JetBrains, the top choice was PyCharm with a share of 33% for its Community and Professional Editions combined. VS Code with a share of 29% wasn't far behind, which is 5% more than in 2019. I'm among those to have moved to VS Code in recent months and find it an increasingly comfortable way to work with Python.
Python for Enthusiasts (Programmer's Bookshelf of recommended books)
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 03 March 2021 )|