第二屆Python開發人員年度調查出爐。調查內容包括Python使用概況、開發類型、框架、庫和技術、Python3采用率、就業和工作等眾多方面。
Python開發人員年度調查來了!
2018 年秋,Python 軟件基金會和著名 IDE 開發商 JetBrains 聯合進行了第二屆 Python 開發人員調查。和第一次調查一樣,本次調查旨在關注 Python 的最新趨勢并總結 2018 年 Python 開發的發展情況。
來自 150 多個不同國家的 20000 多名開發人員參與了此次調查,幫我們勾勒出一個更精準、與時俱進的 Python 社區全景圖,包括:
Python在全球各地的使用
開發類型
Python 3 的使用
Python 框架、庫和技術
開發工具
就業和工作等方面。
總結一下這份報告:
Python 3 的采用率正在快速增長,并且已經達到 84%,而 Python 2 僅被 16%的 Python 用戶用作主要的注釋器。從 2017 年的 75%到 2018 年的 84%,這對于 Python 3 來說是一個巨大的飛躍。
數據分析在 Python 用戶中比 Web 開發更受歡迎,從 2017 年的 50%增長到 2018 年的 58%
使用 Python 作為主要語言的所有開發人員中有一半也使用 JavaScript。Python 也經常與 HTML / CSS,Bash / Shell,SQL,C / C ++ 和 Java 一起使用。
Flask 和 Django 是 Web 開發人員中最受歡迎的框架,占比相同(約 45%),把其他 Python Web 框架遠遠甩在后面。
NumPy,Pandas,Matplotlib 和 SciPy 是最受歡迎的數據科學框架和庫。機器學習專用庫,如 SciKit-Learn,TensorFlow,Keras 等,也很受歡迎。
AWS 是 Python 開發人員最受歡迎的云平臺,其次是 Google Cloud Platform,Heroku,DigitalOcean 和 Microsoft Azure。
2018 年,使用 DevOps 的受訪者數量明顯增加(與 2017 年相比增加了 8 個百分點)。對于使用 Python 作為輔助語言的 Python 用戶而言,DevOps 已經取代了 Web 開發。
PyCharm 及其兩個版本是最受歡迎的 Python 開發工具。有趣的是,VS Code 已從 2017 年的 7%擴展到 2018 年的 16%,使其成為 Python 開發的第二大受歡迎的編輯器。其他流行的 Python 編輯器包括 Vim,Sublime 和 Jupyter Notebook。
令人驚訝的是,幾乎三分之二的 Python 開發人員選擇 Linux 作為他們的開發環境操作系統。
Python 使用概況
Python 作為主要語言 VS 次要語言
在我們的調查中,84%的 Python 用戶使用 Python 作為他們的主要語言,而 16%的用戶把 Python 作為第二語言。 在 2017 年,這個分布略有不同:79% 受訪者指出他們使用 Python 作為主要語言,21%作為次要語言。
有趣的事實:
Python 作為主要語言的使用率比 2017 年的 79%高出 5 個百分點。
Python 與其他語言的使用
Python 用戶中有一半還使用 JavaScript。 2018 年的統計數據與 2017 年的結果非常相似,唯一顯著的區別是 Bash / Shell 從 2017 年的 36%增長到 2018 年的 45%。Go 和 SQL 都增長了 2 個百分點,而 C / C ++、Java 和 C#等許多其他語言的占比降低。
與 2017 年一樣,使用 Python 作為輔助語言的用戶語言細分略有不同,使用 JavaScript 的開發人員略少(47%),但也有不少人使用 C / C ++(39%)、Java(35%)和 C#(19%)。
Python 開發類型
人們使用 Python 進行什么類型的開發,以及如何進行結合?
使用 Python 的目的是什么?
60% 的用戶在家和工作中都會使用 Python,21% 的人將之用于個人、教育或輔助項目,19% 用于工作。
用 Python 干什么?
2018 年,使用 Python 做數據分析的用戶最多,其次是 web 開發,再次為 DevOps/ 系統管理 / 編寫自動化代碼、機器學習等。
值得注意的是,用 Python 來做數據分析的人比 Web 開發更多,從 2017 年的 50%增長到 2018 年的 58%。機器學習也增長了 7%。 這些類型的開發比 Web 開發增長更快,Web 開發與前一年相比僅增加了 2 個 %。
2018 年,將 Python 用于教育和多媒體應用開發的占比和去年持平,而網絡編程、桌面開發、計算機圖形、游戲開發、移動開發的占比同比有所下降。
與 2017 年一樣,Web 開發是唯一一個與使用 Python 作為主要語言和輔助語言的人之間存在較大差距(56%對 36%)的類別,而其他類型的開發差異要小得多。
有趣的事實:
2018 年,有更多的受訪者表示他們使用 Python 的用途涉及 DevOps(與 2017 年相比增長了 8%)。對于使用 Python 作為輔助語言的 Python 用戶而言,DevOps 已經取代了 Web 開發。
對以下活動的參與度
通過這個問題,我們試圖更深入地了解受訪者在之前的多項選擇題中選擇的各種開發類型。可以清楚地看到,Python 用于游戲開發主要是業余愛好,而 Web 開發、機器學習、數據分析和軟件測試主要是工作所需。
其中,93% 的用戶使用 Python 進行軟件測試,90% 用戶進行 DevOps,87% 用戶進行 Web 開發都是出于工作需要。
最常使用 Python 干什么?(單選)
在這個問題中,受訪者只能選擇一個選項。結果表明,Web開發遙遙領先(27%),把數據分析(17%)遠遠甩在后面。但如果我們仔細觀察一下就會發現,機器學習的占比有所增長(11%)。如果我們將數據分析和機器學習整合到“數據科學”這一類中,這個數字將達到驚人的 28%。也就是說,用戶最常使用 Python 做數據科學相關的任務。
緊跟著是機器學習和 DevOps,2017 年和 2018 年的占比未發生變化,均為 9% vs 11%。
比較使用 Python 作為主要語言與次要語言的趨勢,Web 開發兩者之間的差距最大(29% vs 17%)。數據分析和機器學習之間沒有顯著差異。
有趣的事實:
DevOps / 系統管理 / 編寫自動化腳本'已經位列 Python 用戶使用其作為輔助語言的首位。這一發現與前一節中強調的 Bash / Shell 使用量增加有關。
與 2017 年一樣,Web 開發和數據科學仍然是 2018 年 Python 開發的主要類型。不過,我們注意到 Python 中的數據科學作為該語言的其他用途,其受歡迎程度的增長速度要快得多,這可以從多選題“你使用 Python 做什么?”中看出來。
Python 3 采用率
Python VS Python 3
我們的問題是:”你最常用的是哪個版本的 Python?”。結果顯示,84%的用戶表示最常用版本為 Python 3 ,遠超 Python 2 的 16%。從 2017 年的 75%到2018年的84%,Python 3 的受歡迎程度得到大幅提升。
其中,最受歡迎的 Python 3 版本是 Python 3.6,最受歡迎的 Python 2 版本是 Python 2.7。
有趣的事實:
Python 3 的使用率繼續快速增長。根據 2017 年的最新研究,75%的人使用 Python 3,使用 Python 2 的用戶比例是 25%。Python 2 的采用率正在下降,因為其不再進行積極開發,沒有新功能,并且將會在 2020 年停止維護。
Python 3 的采用率從過年 2013 年的 22%,到 2018 年 10 月已攀升至 84%。
另一個有趣的發現是,只有 82% 主要用于 Web 開發的用戶使用 Python 3,而涉及數據科學的 Python 3 采用率上升至 90%。
可能原因:
可能導致這種情況的原因之一是有些開發人員在轉換到 Python 3 時仍然需要維護大量遺留代碼。另一方面,許多數據分析師和機器學習專家最近加入了 Python 生態系統并開始使用最新的 Python 3。
Python 安裝和升級
71%的受訪者從 python.org 或 OS 提供的包管理器(如 APT 和 Homebrew)安裝 Python。這與 2017 年的結果非常相似。有趣的是,與 2017 年相比,Anaconda 的占比增長了 7 個百分點。這更加明確了數據科學比其他類型的開發類型受歡迎程度增長更快。
是否使用以下工具隔離 Python 開發環境?(多選)
在開發或部署階段隔離 Python 環境很久以來是一個最佳實踐。毫無疑問,pipenv 和較低級別的 virtualenv 是創建和管理新的 Python 環境的兩個最常用的工具,64% 的受訪者表示會使用這兩個工具進行 Python 環境隔離,31% 的用戶會使用 Docker,其次是 Conda、Vagrant/ 虛擬機和其他。令讓人驚訝的是,21%的 Python 用戶根本不使用以上工具。
Python 框架、庫和技術
這一部分強調了開發者使用的各種 Python 框架、庫和技術的流行度。
網頁框架(多選)
受訪者中 Flask 的使用量同比增長了 15 個百分點,因此,今年 Flask 意外地成為最受歡迎的 Web 框架。 而 45%的受訪者(2017 年為 41%)選擇了 Django,Flask 和 Django 加起來就已經占據了 92% 的份額。
數據科學框架和庫(多選)
不出所料,最流行的數據科學框架和庫是:NumPy,Pandas,Matplotlib 和 SciPy。機器學習專用庫,如 SciKit-Learn,TensorFlow,Keras 等,也非常受歡迎,這與作為 Python 開發主要類型的機器學習快速發展密切相關。
普通框架和庫
在普通框架和庫中,不出所料,超過一半的 Python 用戶使用了 Requests。Pillow 也非常受歡迎,1/5 用戶使用 asyncio。
最受歡迎云平臺(多選)
55%使用云平臺的 Python 用戶更喜歡 AWS。Google Cloud Platform 排在第二位,其次是 Heroku,DigitalOcean 和 Microsoft Azure。大約三分之一的受訪者不使用任何云解決方案。
除了上面列出的流行的云平臺,我們發現 OpenStack 和 Linode 各占 6%,OpenShift 占 3%,Rackspace 占 2%。
除了有關云平臺選擇的問題之外,我們還提出了一些其他問題,以了解 Python 開發人員如何使用云:
如何在云中(在生產環境中)運行代碼? (多選)
在虛擬機上占比 47%,在容器中占比 40%,在 PaaS 上占比 28%,在 Severless 中占比 21%。
開發環境中使用云
56%- 本地虛擬環境35%-Docker 容器24%- 虛擬機17%- 本地系統注釋器17%- 遠程開發環境9%- 直接在生產環境中
開發工具
操作系統
令人驚訝的是,近三分之二的受訪者選擇 Linux 作為他們的開發環境操作系統。請注意,這是個多選題,在這里沒有得出主要 OS 流行度的結論。
測試框架
pytest 在測試框架排名中領先,其次是 unittest。其他測試框架遠沒那么受歡迎。出乎意料的是,35%的 Python 用戶不使用任何測試框架,并且可能沒有測試他們的代碼。在“創建隔離的 Python 環境的工具”部分中,我們發現大約五分之一的 Python 用戶不使用 Python 隔離這一最佳實踐。
數據庫
大多數人使用免費或開源數據庫,如 PostgreSQL,MySQL 或 SQLite MongoDB 和 Redis 等非關系型數據庫也非常受歡迎,因為大量的 Python 用戶正在進行某種形式的機器學習或數據工程。
ORMs
兩個最流行的 ORM 是 SQLAlchemy 和 Django ORM,它們與兩個領先的 Web 開發框架:Flask 和 Django 的流行度相匹配。
使用以下哪種大數據工具?
機器學習工程師更有可能使用大型數據工具,這就是為什么 76%的受訪者表示沒有使用大數據工具。Spark 是大數據工具中的首選,其次是 Hadoop 和 Kafka。
經常使用哪種持續集成(CI)系統? (多選)
將近一半 Python 用戶不使用任何 CI 方案。Python 世界中最受歡迎的三個 CI 解決方案是 Jenkins,Gitlab CI 和 Travis。
配置管理
大多數 Python 用戶不使用配置管理工具。在使用配置管理中,最受歡迎的無疑是 Ansible。
編輯和 IDE
為了找到最流行的編輯器和 IDE,我們提出了單選題:“你當前 Python 開發使用的主編輯器是什么?”不到 1%的選項一并歸在 Other 下。
PyCharm 是最受歡迎的 Python 開發工具,PyCharm Professional 和 Community 版本的合計份額為 35%。有趣的是,VS Code 的占比從 2017 年的 7%上升到 2018 年的 16%,成為第二大受歡迎的 Python 開發編輯器。很可能由于 VS Code 的快速增長,許多其他編輯的用戶份額減少了。
Web 開發人員與數據科學家的編輯偏好略有不同。他們比數據科學家更喜歡 PyCharm,VS Code,Vim 和 Sublime 文本,而許多數據科學家更喜歡 Jupyter Notebook 作為他們的主要工具。
Python 開發工具和功能
我們找到了在 Python 中相對受歡迎的開發工具和功能:版本控制,代碼自動完成,代碼重構,編寫單元測試以及使用 Python 項目的虛擬環境都位列 Top10。
其他流行的工具和功能還包括 SQL 數據庫,調試和代碼 linting。NoSQL 數據庫,Python 分析器和代碼覆蓋工具是最少使用的功能。
有趣的事實:
類型提示作為一種可選技術似乎越來越受歡迎。59%的受訪者表示,他們經常或偶爾在 Python 開發時使用類型提示。類型提示的使用排名高于代碼覆蓋和分析器工具,與 CI 解決方案采用率進行 Python 開發旗鼓相當。
鑒于在 2018 年調查中,受訪者中學生較少,而經驗豐富的開發人員較多,我們可以得出結論,在專業團隊中工作時間越長,經驗越豐富,他們使用的工具和專業技術就越多。
就業和工作
就業現狀
超過一半(62%)的 Python 用戶全職工作,19%為學生,而只有 13%為自雇人士或自由職業者。與 2017 年相比,2018 年,學生人數明顯減少,就業人數更多。
工作崗位
這是個多選題,因此總百分比大于 100%。將近 3/4 受訪者為開發者,1/5 為數據分析家、架構師或團隊領導。在占比為 12% 的“其他”部分,最多的職位頭銜為數據科學家、DevOps、研究員和教師。
從事項目開發
只有五分之一的 Python 用戶只從事一個項目 ; 其余人的工作涉及許多不同的項目,或負責一個主要項目和若干次要項目。
團隊合作 VS 獨立工作
有趣的是,將近一半的 Python 用戶獨立進行項目開發,4% 的用戶作為外部咨詢或訓練師。
團隊規模
約三分之一的開發者在規模很小的團隊中工作,其中 74% 的團隊規模為 2-7 人。團隊規模的數據與去年相比沒有變化。
企業規模
25% 的受訪者在 51-500 人的企業中工作,這一部分占比最大,其次為 11-50 人和 5000 人以上企業,占比均為 19%。
企業行業和業務分布
信息技術 / 軟件開發占比最大,為 44%;“其他”一列中包括零售、能源和媒體。
目標企業 / 行業
Python 開發者的主要目標企業 / 行業同樣為信息技術 / 軟件開發,還包括財務、銀行、銷售、商務等,“其他”部分占比 12%。大部分自填的行業包括電信或能源,并提到了其他行業。
IT 行業經驗
與 2017 年相比,Python 用戶在 IT 行業的經驗更加多樣化,沒有特別占優勢的群體,其中擁有 11 年以上經驗的用戶占比最大(25%),其次為 3-5 年經驗(22%),小于一年(19%)。
平均年齡
受訪者普遍年齡在 20 歲左右(39%),近三分之一是 30 多歲(31%),許多年輕人似乎也融入了 Python 社區(5%)。
全球社區
以下為全球 150 多個國家的 Python 開發者社區分布:
21% 美國,12% 印度,6% 英國,5% 德國,4% 中國,4% 法國,3% 俄羅斯,3% 加拿大,3% 巴西,2% 西班牙,2% 波蘭,2% 澳大利亞,2% 意大利,2% 荷蘭,1% 烏克蘭,1% 捷克共和國,1% 瑞典,1% 以色列,25% 其他。
-
機器學習
+關注
關注
66文章
8422瀏覽量
132736 -
python
+關注
關注
56文章
4797瀏覽量
84773 -
數據科學
+關注
關注
0文章
165瀏覽量
10073
原文標題:Python開發者年度報告:Python3采用率超84%,就業率高達62%
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論