Produced by Big Data Digest
Source: JetBrains
Compiled by: Jiang Baoshang
As a high-level programming language, the popularity of Python has been on the rise in recent years. Every year, the official Python organization conducts an annual report on the developer community, summarizing the year’s developments and releasing a survey report.
This year is no exception, with over 20,000 developers from more than 150 countries participating in this in-depth survey. The newly released report interprets the current status, trends, and future of Python usage from seven perspectives.
Here are some of the latest trends:
1. Among developers using Python as their primary language, half also use JavaScript. Python is often used alongside HTML/CSS, Bash/Shell, SQL, C/C++, and Java.
2. Python is more widely used for data analysis than for web development, with data analysis accounting for 58%.
3. 84% of users are already using Python 3, while the proportion of Python 2 users is only 16%. In 2017, the usage rate of Python 3 was only 75%.
4. Flask and Django are the most popular frameworks among web developers, with both having similar market shares, far ahead of other Python web frameworks.
5. NumPy, Pandas, Matplotlib, and SciPy are the most popular data science frameworks and libraries. Libraries specifically for machine learning, such as Scikit-Learn, TensorFlow, and Keras, are also very popular.
6. AWS is the most popular cloud platform among Python developers, followed by Google Cloud Platform, Heroku, DigitalOcean, and Microsoft Azure.
7. In 2018, the number of operations developers significantly increased (an 8 percentage point increase compared to 2017). Among Python users who use Python as a secondary language, operations have replaced web development as the top role.
8. The professional and community editions of PyCharm are the most popular Python development tools. VS Code has increased from 7% in 2017 to 16% in 2018, becoming the second most popular editor for Python development.
9. Almost 2/3 of Python developers choose Linux as their operating system during development.
Let’s take a closer look at the details.
84% of Python Users Use It as Their Primary Language
The popularity of Python among developers is indeed undeniable.
Regarding whether to use Python as the first programming language, the official survey shows that 84% of Python users use Python as their primary programming language, while 16% use it as a secondary language. This is slightly different from the data distribution in 2017, where 79% of users used Python as their primary language and 21% as a secondary language.
Among programmers using Python, half also use JavaScript. The data from 2018 is quite similar to that of 2017. Some interesting phenomena include: Shell usage increased from 36% in 2017 to 45% in 2018, while Go and SQL both increased by 2%, and the proportions of languages like C/C++, Java, and C# decreased.
More Users Are Using Python for Data Analysis
What is your purpose for using Python?
The proportions of users using Python for personal, educational, and side projects are similar to those for work needs, at 21% and 19%, respectively. The largest group consists of users who balance both work and personal purposes.
So what do most users use Python for?
Statistics show that data analysis has become the most common purpose for using Python, while web development has lost its dominant position. Although the share increased from 49% in 2017 to 52% in 2018, the growth rate is clearly not as significant as the 8 percentage point increase in data analysis. The next rankings are: operations/system management/automation scripts, machine learning, web scraping, software testing/automation testing, educational purposes, software prototyping, network programming, desktop development, computer graphics, embedded development, game development, mobile application development, multimedia application development, and others.
Regarding what you use Python for, there is also a single-choice question where respondents can only select one option. At first glance, web development occupies the top position with a share of 27%, far surpassing data analysis at 17%. However, don’t forget that data analysis and machine learning can be roughly considered as “data science,” which accounts for a combined share of 28%.
84% of Python Users Are Using Python 3
As mentioned, the usage rate of Python 3 is 84%, while the usage rate of Python 2 is 16%. In 2017, this data was 75% vs 25%.
It is worth mentioning that the decline of Python 2 is due to the lack of active development, no new features, and its maintenance will cease in 2020.
Among users doing data analysis, 90% use Python 3, 82% for web development, and 81% for operations.
PYTHON Frameworks, Libraries, and Technologies: Flask is the Most Popular
WEB Frameworks
Compared to the previous year, the usage of Flask has increased by 15 percentage points, making Flask the most popular web framework in 2018. Of course, 45% of respondents (up from 41% in 2017) also chose Django.
Data Science Frameworks and Libraries
According to statistics, the most popular data science frameworks and libraries are: NumPy, Pandas, Matplotlib, and SciPy. Libraries in the machine learning field, such as Scikit-Learn, TensorFlow, and Keras, are also very popular, which is related to the increasing popularity of machine learning.
General Frameworks and Libraries
The above are the rankings of general Python libraries. More than half of Python users have used Requests. Pillow is also popular. One-fifth of Python users have used Scrapy.
Cloud Platforms
55% of Python users using cloud platforms prefer AWS. Google Cloud Platform ranks second, followed by Heroku, DigitalOcean, and Microsoft Azure. About one-third of respondents do not use any cloud platform.
In addition, OpenStack and Linode each account for 6%, OpenShift accounts for 3%, and Rackspace accounts for 2%, which are relatively niche platforms.
Development Tools: Two-Thirds of Respondents Choose Linux
Operating Systems
According to statistics, nearly 2/3 of respondents choose Linux as their development environment operating system.
Of course, according to the official statement, multiple selections were allowed for this question, so no conclusion can be drawn about the popularity of systems.
Testing Frameworks
The unit testing framework pytest ranks first, followed by unittest. Other unit testing frameworks lag significantly behind the top two.
Finally, 35% of Python users do not use any testing frameworks, possibly because they do not test their code!
Databases
Most people use free or open-source databases, such as PostgreSQL, MySQL, or SQLite.
Non-relational databases like MongoDB and Redis are also very popular, as many Python users are engaged in some form of machine learning and data science.
Big Data Tools
Machine learning engineers are more likely to use big data analysis tools, so 76% of respondents did not choose any tools. According to statistics, Spark occupies the first place with a share of 12%, followed by Hadoop and Kafka.
Editors and IDEs
PyCharm is the most popular Python development tool, with a combined share of 35% for the professional and community editions.
Interestingly, VS Code has risen from 7% in 2017 to 16% in 2018, becoming the second most popular Python development editor. This rapid growth of VS Code has likely led to a decrease in user shares for many other editors.
Features Used in Python Development
The popularity of tools and features is evident: version control, code auto-completion, code refactoring, writing unit tests, and using virtual environments for Python projects are all essential features.
According to the official statement, in 2018, there were fewer students among respondents and more experienced developers, leading to the conclusion that the longer people work in professional teams, the more experience they have, and the more tools and professional skills they use.
Increase in Workforce, Decrease in Student Users
Employment Status
More than half of Python users are employed full-time, 19% are students, and 13% are self-employed or freelancers. Compared to 2017, the number of students decreased significantly in 2018, while the number of employed individuals increased.
Job Roles
This is a multiple-choice question, allowing respondents to select multiple job roles, so the total exceeds 100%. Statistics show that about 3/4 of respondents are developers, while nearly 1/5 are data analysts, architects, or team leaders. Other roles account for 12%, including data scientists, operations, researchers, and educators.
Work Experience: 25% of users have over 11 years of experience
Age Range: Users aged 21-29 are the most numerous, while those over 30 account for 1/3.
The above chart does not represent the distribution of all Python users but rather the distribution of respondents. According to the official statement, this survey involved 150 countries and over 20,000 developers, with 21% living in the United States, while respondents from China accounted for only 4%.
Industry of Companies: The most commonly listed industries in the “other” category are retail, energy, and media.
Additionally, there are several statistics regarding companies.
Team Size
Company Size
Finally, you can access the complete report from the link below👇
https://www.jetbrains.com/research/python-developers-survey-2018/