JetBrains, maker of the PyCharm IDE for Python, have released the results of the company’s Python Developers Survey for 2018, a snapshot of the tools, preferences, and sentiments of more than 20,000 enterprise and indie Python developers worldwide. The survey shows Python usage growing overall, with data analysis emerging as the main use case, while web development, testing, and automation are still going strong.
Regarding Python 2 vs. Python 3 adoption, the survey shows 84 percent using Python 3 and 16 percent still using Python 2. Among the Python 3 users, 54 percent are using Python 3.6 and 30 percent Python 3.7, with the rest split among other versions.
Growth of Python 3 usage has been steady year-over-year since 2013, but the implication is that some margin of users will continue working with it right up to its end-of-life in 2020. The survey didn’t probe into why developers stick with Python 2, whether it’s the weight of legacy code, institutional requirements, or simply developer preference.
Some 52 percent of respondents listed web development as their main Python task. When respondents were asked to identify a single use case, rather than all of their Python use cases, web development topped the list at 27 percent. The survey also revealed that Flask (47 percent) and Django (45 percent) were by far the most widely used Python web frameworks.
Data analysis — the task Python has become most broadly associated with in recent years — was cited by 58 percent one of their Python use cases. There, packages like NumPy (62 percent), Pandas (51 percent), Matplotlib (46 percent), and SciPy (38 percent) rule the roost. A related field, machine learning, figured in at 38 percent of users, with TensorFlow (25 percent) being the most commonly used machine learning framework. Of the big data tools for Python, Apache Spark (12 percent) was the easy winner.
The task sets Python has been associated with since its inception are all still well represented: system automation (43 percent), web scraping (37 percent), software testing (32 percent), all still figure in strongly. Jenkins/Hudson (25 percent) and Ansible (20 percent), Requests (53 percent), and Pytest (46 percent) were the main tool choices in these areas.
Most Python developers work on Linux (69 percent), but Windows developers are well-represented too (47 percent). But the survey didn’t make clear what percentage of Windows Python users are running Python natively as opposed to using Windows Subsystem for Linux. That said, the Python experience on Windows has become vastly less problematic over the last couple of major releases. Better IDE-integrated tooling has also helped — not just PyCharm, but also Microsoft Visual Studio and Visual Studio Code.
This being a JetBrains sponsored survey, it’s only natural the top choices of IDE included PyCharm (20 percent) and PyCharm Community Edition (15 percent). Visual Studio Code ranked second at 16 percent, not surprising given its overall success with developers and the strength of its Python support. Its Python plug-in is a Microsoft-sponsored project.