In its latest study, JetBrains shows that the adoption of the 3rd version of the Python development language continues to grow. In particular, it is used extensively for data analysis and web development.
JetBrains, the publisher of the PyCharm IDE for Python, has published the results of its 2018 Python Developers Survey of more than 20,000 independent Python companies and developers worldwide. A real snapshot of users’ tools, preferences, and feelings, the survey shows that, overall, the adoption of Python is increasing and that the programming language is used mostly in data analysis. But the use of Python is still blooming in web development, testing, and automation.
Regarding the adoption of Python 2 vs. Python 3, the survey shows that 84% of respondents use Python 3 and 16% still use Python 2. Among Python 3 users, 54% use Python 3.6, and 30% use Python 3.7, the rest shared between other versions. The increasing use of Python 3 has remained stable year-on-year since 2013, indicating that a small group of users will continue to use it until the end of the version’s life, set for 2020. The survey did not investigate why developers continued to use Python 2 and do not say whether this motivation is related to the weight of existing code, institutional requirements or simply preferences.
About 52% of respondents stated that they mainly use Python for web development. When asked to identify a single use case of Python and differentiate it from all the others, Web development came out on top with 27%. The survey also shows that Flask (47%) and Django (45%) are by far the most widely used Python web frameworks.
Data analysis, the task most widely associated with Python in recent years, is cited in 58% of language use cases. In this environment, the NumPy (62%), Pandas (51%), Matplotlib (46%) and SciPy (38%) packs reign supreme. In the related field of machine learning, cited by 38% of users, the most commonly used machine learning framework is TensorFlow (25%). Finally, among the big data tools for Python, Apache Spark is easily in the lead with 12%.
All the tasks with which Python has been associated since its creation are well represented: system automation (43%), web scraping or harvesting (37%) and software testing (32%) are always high on the list. Jenkins/Hudson (25%) and Ansible (20%), Requests (53%) and Pytest (46%) are the primary tools used by developers in these areas.