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:

pythonfavs

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:

pythonwants

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.

pythonpreof

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.

python3

  

  • Mike James is the author of Programmer's Python: Everything is an Object. With the subtitle "Something Completely Different" the book is for those who want to understand the deeper logic in the approach that Python 3 takes to classes and objects. He is also the co-author of Raspberry Pi IoT in Python With Linux Drivers which will be published this month.  

More Information

Python Developers Survey 2020 Results

Related Articles

What is Python Used For?

Python 3.9 Improves Dictionary Handling

Ready Or Not, It's Goodbye Python 2

Final Ever Release of Python 2

Python Developer Survey (2019)

Survey Results From More Python Developers (2018)

Calling All Pythonistas

Python Development Trends

What Makes Python Special?

Python Set To Be Top Language 

Python Language Of The Year 

Python The Future Of Programming? 

Python Popular With Hackers 

Python's Unstoppable Rise  

Python for Enthusiasts (Programmer's Bookshelf of recommended books)

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Open Source Insights Into The Software Supply Chain
10/06/2021

Open Source Insights is a new project by Google that helps developers understand and visualize their applications' dependencies and therefore the vulnerabilities that come with them.



Notepad++ 8 Released
16/06/2021

A new version of Notepad++ has been released. The updated version of the text editor adds support for ARM64 systems, as well as extending its range beyond x86 and x64 systems.


More News

square

 



 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:1871962587>

<ASIN:B07S1K8KLW>

Last Updated ( Wednesday, 03 March 2021 )