2020 年度 Python
開発者
アンケートの結果
2020 年度 Python
開発者
アンケートの結果
これは、 Python Software Foundation と JetBrains が実施した第 4 回目の公式年間 Python 開発者アンケートです。2020 年 10 月には約 200 カ国・地域から 28000 人以上の Python 開発者と愛好家がアンケートに参加し、言語とその周辺エコシステムの現状が明らかになりました。
一般的な Python の使用状況
Python をメインの言語または第二言語として使用している割合
85% の回答者が Python をメインのプログラミング言語として使用しています。
Python と他言語の併用状況
開発者が最もよく Python と併用している言語は JavaScript で、HTML/CSS、Bash/Shell、SQL も使用しています。5 人に 2 人の Python 開発者がこれらの言語のうち 1 つ以上を併用しています。
Python を第二言語として使用している開発者の中では、JavaScript と C/C++ が最もよく使用されている主要言語となっています。
ウェブ開発およびデータサイエンスで使用される言語
ウェブ開発の数値は、質問「Python を主に何に使用していますか?」で「ウェブ開発」を選択した回答者の数を表しています。データサイエンスの数値は、同じ質問で「データ解析」か「機械学習」を選択した回答者の数を表しています。
データ関連の業務に従事している Python 開発者のうち他の言語を一切使用していないのはわずか 8% で、Python のみを使用している Web 開発者はわずか 3% でした。ウェブ開発者の 75% が Python と JavaScript を併用していることは驚くに当たりません。
Python の使用目的
このセクションではユーザーが Python を使用する目的、従事している開発の種類、さまざまな用途の組み合わせを確認するための質問をしました。
どのような目的で Python を主に使用しますか?
Python は何を目的として使っていますか?
アンケート回答者における学生の割合が増加したため(昨年の 10% から 13% に増加)、Python の使用状況が若干変化しています。教育目的が増加し、回答者が Python を使用して従事する他の活動がすべて減少しています。
次の活動に、どの程度関与していますか?
Python を主に何に使用していますか?
あなたは自分のことをデータサイエンティストであると思いますか?
データ解析と機械学習に従事している Python 開発者のうち 32% だけが自分のことをデータサイエンティストだと思っています。
多くの Python ユーザーが Python.org を好んで利用しているのに対し、データサイエンティストは 2 倍以上の割合で Anaconda を使用して Python をバージョンアップしています。
この質問は、データ解析と機械学習に従事している方にのみご回答いただきました。
Python のバージョン
Python 3 と Python 2 の比率
各 Python バージョンの使用状況
Python 3 のバージョン
Python のインストールとアップグレード
Windows ユーザーが Python.org から Python をインストールする傾向にあるのに対し、Linux と macOS のユーザーは通常 OS 標準の Python、pyenv、Docker コンテナーのいずれかを使用しています。
Python 環境の分離状況
IDE と環境分離ツールの間には興味深い依存関係が見られます。
- Jupyter Notebook および JupyterLab ユーザーのうち半数以上が Conda を選択しています。他のエディターを使用しているユーザーの中では、Conda は 20% のシェアしか獲得していません。
- PyCharm Professional Edition は Virtualenv および Docker ユーザーの間で人気です。
- VS Code と PyCharm は、Pipenv を使用する Python ユーザーの間で最大のシェアを誇っています。
- Vim は Vagrant と Poetry を使用する Python ユーザーの間で人気です。
Python の機能
気に入っている Python の特徴
この結果は、「Python 言語の特徴の中で最も気に入っているものを 3 つ挙げてください」という公開質問に対する回答に基づいたものです
* 個別のクラスターに抽出された標準ライブラリ、組み込みのデータ構造、式は除外しています:
- リスト内包表記、ジェネレーター
- リストと辞書
- デコレーター
- Asyncio、スレッド、マルチプロセス
- コンテキストマネージャー
- ラムダ関数
** 1% 未満の回答者が指定したその他のトピックです。
希望する Python の機能
この結果は、「Python に追加して欲しい機能を 3 つ挙げてください」という公開質問に対する回答に基づいたものです
* 他のクラスターに抽出された標準ライブラリに対する改善は除外しています。
** 1% 未満の回答者が指定したその他のトピックです。
フレームワークとライブラリ
ウェブフレームワーク
FastAPI は今回のアンケートで初めて選択肢に追加されましたが、3 番目に人気のある Python 用 Web フレームワークのようです。
データサイエンス向けフレームワークとライブラリ
NumPy ユーザーは他の Python 開発者とは異なり、主に Conda を使用して Python 環境を分離しています(前者が 22% であるのに対して 32% となっています)。
ユニットテストフレームワーク
ユニットテストフレームワークの使用と業務経験年数には高い相関性があります。経験年数の浅い開発者ほど、ユニットテストを実施しない傾向が見られます。
また、データ分析と機械学習に従事している開発者は Web 開発者や DevOps よりもよくユニットテストフレームワークを使用しているようです。ユニットテストフレームワークを最もよく使用している開発者は予想通り、ソフトウェアテストに従事して自動化テストを書いている開発者でした。
その他のフレームワークとライブラリ
AWS を選択した開発者の 72% が Requests フレームワークを使用しています。
Tkinter と Pygame のユーザーの多くは業務経験 1 年未満の若手開発者でした。
ORM
Flask を使用している Python 開発者の大部分は SQLAlchemy を好み、Django ユーザーは Django ORM を使用しています。
データベース
PostgreSQL は Python 開発者に最も人気のデータベースであり、AWS ユーザーの間では 65% ものシェアを獲得しています。
ビッグデータツール
大部分のビッグデータツールのユーザーは JupiterLab を好んで使用しています。これは特に Apache Spark と Dask のユーザーに当てはまります。2 位は Jupyter Notebook となっていますが、Apache Kafka ユーザーに最も人気があるのは PyCharm Professional です。
テクノロジーとクラウド
上位のクラウドプラットフォーム
Heroku と PythonAnywhere は業務経験 2 年以下の若手開発者に人気がありますが、AWS と DigitalOcean は経験年数の長い Python プログラマーにより人気があります。
クラウド(本番環境)内ではどのようにコードを実行していますか?
依然としてコンテナでコードを実行するのが一般的ですが、仮想マシンを使用しているユーザーの比率は若干減少しており、2020 年には 43% にとどまりました。2018 年のシェアは 47% であり、最も一般的な選択肢でした。
どのようにクラウド向けの開発を行っていますか?
Docker コンテナでクラウド開発を行っている人の大部分はテスターです。
Web 開発者は他のタイプの開発者と比較してリモート開発環境や仮想マシンで開発を行う傾向がかなり低くなっており、ローカルで virtualenv を使って開発することを好んでいます。
開発ツール
オペレーティングシステム
68%
Linux
48%
Windows
29%
macOS
2%
BSD
1%
その他
経験豊富な Python 開発者ほど Linux と macOS を開発環境に使用し、Windows を避ける傾向にあります。
継続的インテグレーション(CI)システム
2020 年には Gitlab CI がこれまで継続的インテグレーションシステム部門で首位だった Jenkins / Hudson を追い抜きました。
継続的インテグレーションシステムを最も幅広く使用しているユーザーはテスターです。ソフトウェア開発や自動化テストに従事している開発者の約 80% が CI システムを使用しています。
構成管理ツール
エディターと IDE
最も人気のあるエディターと IDE を特定するため、「現在の Python 開発に使用しているメインのエディターは何ですか?」という単一回答形式の質問を行いました。2019 年に 0.5% 未満だった選択肢は「その他」オプションに集約されました。
PyCharm Community Edition と Professional Edition の合計シェアは 33% であり、これは昨年の結果と同じです。VS Code は引き続きシェアを伸ばしており、昨年よりも 5% 増加しています。そのいっぽう、Vim や Sublime Text のようなテキストエディターの大部分はシェアが若干低下しています。
Jupyter Notebook、JupyterLab、Spyder はデータサイエンス分野でより多くのユーザーを獲得しています。
VS Code ユーザーのシェアについては、データサイエンティストと ウェブ開発者でほぼ同じ数値を示しています。
PyCharm ユーザーのシェアについては、ウェブ開発者の数値はデータサイエンティストの役 2 倍になっています。PyCharm Professional Edition では特にこの違いが顕著に現れています。
Python 開発用のツールと機能
この質問にリストされている作業のほとんどについて、より経験豊富なユーザーで顕著な変化が見られます。業務経験の長い開発者ほど、リスト内のテクノロジーを使用する傾向があります。ただし、この関係はオプションの型ヒントや自動補完には当てはまりません。コーディング経験が 3~5 年の開発者と比較すると、11 年以上の経験を持つ Python 開発者はこれらの作業を定期的に実施する傾向はかなり少なくなっています。
雇用と業務
チーム作業と単独作業の状況
プロジェクトへの従事状況
チームの規模
雇用種別
会社の規模
会社の業界
ターゲット業界
役職
Python の経験
コーディングの業務経験
年齢層
どの国 / 地域にお住いですか?
1% 未満の国 / 地域はすべて「その他」にまとめられています。
実施方法と生データ
より詳細にデータを分析したいですか?匿名化されたアンケート結果をダウンロードして調査に役立ててください!調査結果や分析データを Twitter に投稿してください。投稿の際にはハッシュタグ #pythondevsurvey を付け、@jetbrains と @ThePSF をメンションしてください。
このようなデータを分析する前に、以下の重要な情報に注意してください:
1
このデータセットには Python Software Foundation の公式チャンネルからの回答のみが含まれています。重複する回答や信頼性の低い回答を除外したこのデータセットには、python.org / PSF ブログ / PSF の Twitter / LinkedIn アカウント / Python 公式メーリングリスト / Python 関連のサブレディットでのアンケート推進を通して 2020 年 10 月と 11 月に収集した 28000 件以上の回答が含まれています。アンケート結果が特定のツールやテクノロジーに一方的に有利にならないよう、回答の収集には製品、サービス、またはベンダー関連のチャンネルは使用されませんでした。
2
データは匿名化されており、個人情報や地理的位置情報は含まれていません。また、回答者がコメント欄に記入した内容で個人が特定されないよう、自由回答式のフィールドはすべて削除されています。
3
アンケートの実施方法をより詳しく把握できるよう、データセット、アンケートの質問、アンケートのロジックをすべて公開しています。回答の選択肢はさまざまな方法で順序付けを行いました(アルファベット順、ランダム順、昇順)。それぞれの質問に対して回答の順序が指定されています。
Python Software Foundation と JetBrains を代表し、このアンケートにご参加いただいた皆様に重ねて御礼申し上げます。皆様のおかげで、Python コミュニティの全体像をより正確に描くことができています!
最後までご覧いただきありがとうございました!
レポートはお役に立ちましたか?
ぜひこのレポートを友人や同僚と共有してください。
今後のアンケートに参加する:
このアンケートに関するご質問や今後のアンケートに対するご提案がありましたら、surveys@jetbrains.com か psf@python.org までご連絡ください。