Very interesting survey named: Python Developers Survey 2017 Results was done at the end of 2017 by Python Software Foundation and JetBrains. The survey participents are about 9,500 developers from almost 150 different countries.
Some of the results are expected and other are surprising. This survey is showing trends for Python in 2018 and it's near future. Let's have a look on some of the topics:
- General Python Usage
- Types of Development
- Python 3 Adoption
- Tools and Features
- Developer Profile
- Raw Data
- Key Takeaways
Python 3 vs Python 2
The first question for newbies in python world: Python 3 or Python 2? Which one to choose. Now the answer seems to be more clear:
- Python 3 - 75% used most python 3
- Python 2 - while 25% use python 2
It's interesting to mention that trend is changing from 60% to 40% for Python 2 in 2016. It seems that the end of life for Python 2 combined with the new features in Python 3 are convicing users to migrate to the newer version. Here you can find more about python 2 end date : PEP 373 -- Python 2.7 Release Schedule
There is difference in the usage of python 2 depending on the profile:
- Web developers - 30%
- Data scientists - 20%
It seems that Data Science and Machine Learning adopt Python 3 faster in comparisson to Web Development.
This one is surprising for me. The results from this survey are:
- Windows - 49%
- Linux - 19%
- MacOS - 15%
- Other - 17%
Personally I expected the number of Linux users to be higher than this. I'm noticing a migration of many developers from Windows to Linux.
According to the authors of the survey they didn't ask the users but they track the OS used for the survey. Which could corelate to the real results.
Python Tools, Editors, IDEs
Often question in the python groups and comunities is: what is the best IDE for python? If you ask me - personally I prefer PyCharm and IntelliJ with python plugin.
According to the survey:
one thirde of web developers prefer PyCharm Professional Edition:
- 30% PyCharm Professional Edition
- 12% PyCharm Community Edition
- 14% Sublime Text
- 11% Vim
- 10% VS Code
While data scientist like more PyCharm Community Edition:
- 12% PyCharm Professional Edition
- 17% PyCharm Community Edition
- 9% Sublime Text
- 8% Vim
- 7% IDLE
As a programmer using 3 programming languages:
I found that IntelliJ is working best from all the other IDEs or editors that I've tested. It's stable, it has good integration with versioning systems, increase performance and it's faster. So far I'm using the community edition which is free for use.
Python Frameworks, Libraries and Technologies
Taking a look on the libraries and technologies is giving us the following picture:
- 41% Django
- 39% NumPy / pandas / Matplotlib / scipy and similar
- 34% Requests
- 32% Flask
- 17% Keras / Theano / TensorFlow / scikit-learn and similar
As it can be expected the numbers are totally different for data scientist and web developers. The segmentation in this section is higher and shows the difference in the work of the two groups of developers.
In the beginning of 2018 the employment in python world looks like(according to the survey data):
- 52% Fully employed by a company / organization
- 28% Student
- 7% Freelancer
- 6% Self-Employed
Big numbers of python seems to be students which is a sign for the future of the language. Accoding to some people(even me) Python will replace Java as the most popular language in the future.
Statistic by Job Role:
- 73% Developer / Programmer
- 19% Data analyst
- 18% Architect
- 18% Team-Lead
- 13% Technical Support
Python Installation and Upgrade
The final intersting results is the download source for python. The majority of the users prefer: python.org. Big number use the OS default installation method:
- 39% Installer from python.org
- 31% OS-provided Python (via apt-get, yum, homebrew, etc.)
- 15% Anaconda
- 7% Build from source
- 6% pyenv
- 3% Automatic upgrade via cloud provider
- 2% ActivePython
Please do share what do you think for the results of this survey in the comment section below.