Volg ICTI

Staying up to date with python – research survey

| Sieuwert van Otterloo | Software

Python is one of the most used programming languages: thousands of developers use the language and its frameworks of libraries for new IT systems. The language itself and the various libraries and frameworks are frequently updated and this causes legacy issues: Systems must be changed to work with the latest frameworks,or become vulnerable to security problem. Ashwin Barendrecht, an MSc student at Vrije Universiteit is conducting research to understand how Python developers handle update and legacy problems. If you are a Python developer , please help with the research by filling in a short survey.

About Python

Python was invented in Amsterdam in the xmas holiday of 1990-1991 by Guido van Rossum (whois included in our ICTI Hall of Fame) and released in February 1991. The language was similar to Perl but designed to be easier to learn and use and is often used in education, data science and AI. It is included in our technology risk assessment since we often see Python code in our review projects. The Python language itself had one poorly managed change: Python version 3, released in 2008, was very different from version 2 and this caused problems for the upgrade from any version 2 to a version 3. Python web systems are often built using a framework (a library with common web functions) such as django or Flask.

Research goals and survey

The goal of the thesis research effort is to understand legacy problems of the Python programming language and its available frameworks. A survey was done to understand how Python developers handle Python and framework versions for their own projects. The survey garnered a total of 50 responses.

One of the key questions investigated in the survey, is how likely developers are to keep up with new releases. Whether most developers are indeed using new versions says something about whether the rate of change meets the need of developers. In the chart below this shown for both the language itself and the frameworks.

It is clear that most developers indeed adopt the latest language versions quickly, but are not as excited about new framework versions.

To understand this difference in more detail, we asked people which framework they used mostly. Based on thsi we can make a chart showing how likely developers are to keep up with new releases per framework for the most popular frameworks. The most frequently used frameworks in our survey are AIOHTTP, Django, Flask and Pyramid. The Pyramid users are most likely to research new versions of their framework.

In the survey we als ask for experiences in the Python 2 / Python 3 transitions and other questions that help us understand the use of Python in practice and challenges maintaining IT systems.

How to participate

The survey was available until mid July 2023.  The results have been included in a thesis that is published in our Thesis Research page but can also be downloaded here: Final-thesis-MSc-IS-Barendracht-Python.

Image: Green tree python by David Clode via Unsplash

Author: Sieuwert van Otterloo
Dr. Sieuwert van Otterloo is a court-certified IT expert with interests in agile, security, software research and IT-contracts.