全球超2萬名開發者調研:Python 3滲透率至84%

AI科技大本營發表於2019-02-27

640?wx_fmt=jpeg

 

編輯 | suiling

出品 | Python大本營(ID:pythonnews)

 

60s測試:你是否適合轉型人工智慧?

https://edu.csdn.net/topic/ai30?utm_source=cxrs_bw

 

 

在2018年秋季,Python軟體基金會與JetBrains發起了年度Python開發者調查。 報告的目的是尋找Python領域的新趨勢,幫助開發者深入瞭解2018年Python開發者的現狀。

 

該報告共統計了來自150多個不同國家和地區的超過兩萬名開發人員的Python使用情況。Python大本營對該報告進行了翻譯。

 

本報告要點如下:

 

  • Python 3的滲透率快速增長至84%(2017年為75%),僅有16%的使用者使用Python 2作為主要直譯器。

 

  • 越來越多開發者使用Python進行資料分析,該比例從2017年的50%上升至2018年的58%,比使用Python進行Web開發更受歡迎。

 

  • 將Python作為第一開發語言的開發者中,有半數也使用JavaScript進行開發。Python也經常和HTML/CSS, Bash/Shell, SQL, C/C++,以及Java一起使用。

 

  • Web開發者最喜歡的框架是Flask和Django,兩者佔比均為45%,遠遠超過了其他Python Web開發框架。

 

  • NumPy, Pandas, Matplotlib和SciPy是最受歡迎的資料科學框架和庫。專門針對機器學習的庫,比如SciKit-Learn, TensorFlow, Keras等也很受歡迎。

 

  • AWS是Python開發者最喜歡的雲平臺,然後是Google Cloud Platform, Heroku, DigitalOcean和Microsoft Azure平臺。

 

  • 2018年受訪的開發者中,運維人員的數量明顯增加(與2017年相比增加了8個百分點)。在使用Python作為次要語言的開發者中,運維開發已經超過了Web開發。

 

  • PyCharm的兩個版本是最受歡迎Python開發工具。有趣的是,VS Code的使用率從2017年的7%上升至2018年的16%,成為Python開發第二最受歡迎的編輯器。其他受歡迎的編輯器還有Vim, Sublime以及Jupyter Notebook。

 

  • 2/3的Python開發者使用Linux作為開發作業系統。

 

具體報告內容如下:

 

Python使用概況

 

主要開發語言or輔助開發語言

 

640?wx_fmt=png

 

調查中,84%的Python使用者使用Python作為他們的第一開發語言,16%的使用者將其作為輔助開發語言。 在2017年,79%使用者使用Python作為第一語言,21%使用者將其作為輔助開發語言。

 

除了Python,其他語言使用情況。

 

根據調查顯示:參與調研的Python使用者中有一半也使用JavaScript。 2018年的統計資料與2017年的結果非常相似。

 

640?wx_fmt=png

 

Python開發型別

 

用Python是工作需要還是個人需要?

 

640?wx_fmt=png

 

Python使用目的

 

從資料中看到,2018年的報告中58%的使用者用Python進行資料分析,2017年這個資料是50%。機器學習也增長了7個百分點,Web開發與前一年相比僅增加了2個百分點。

 

640?wx_fmt=png

 

你參與過以下哪些領域的開發?

 

我們可以清楚地看到,Python遊戲開發最主要是作為業餘愛好,而Web開發、機器學習、資料分析和軟體測試主要用在職業開發方面。

 

640?wx_fmt=png

 

你使用Python最多的領域是什麼(單選)

 

640?wx_fmt=png

 

該問題是單選,乍一看,Web開發大幅領先(27%),大幅超過資料分析(17%)。但仔細觀察後發現,機器學習增長了兩個百分點,如果將機器學習和資料分析整合為“資料科學”,這個佔比將會達到28%。

 

對比將Python作為主要開發語言和輔助開發語言,web開發差距最大(29% vs 17%)。對於機器學習和資料分析來說,沒有明顯差別。

 

Python3滲透率

 

Python3還是Python2?

 

由於Python2將於2020年停止更新維護,所以越來越的使用者遷移到了Python3,從下圖可以看出,有84%的使用者使用了Python3.

 

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

 

Python3滲透率

 

在調查中發現,82%的Web開發人員使用Python 3,而在資料科學這一領域Python3的滲透率高達90%。

 

640?wx_fmt=png

 

 

640?wx_fmt=png

 

原因可能是Web開發人員仍有大量遺留程式碼需要維護,而藉助於人工智慧的熱度,資料分析和機器學習人員不斷加入了Python 3的陣營。

 

Python安裝和更新

 

71%的受訪者從python.org或OS提供的包管理器(如APT和Homebrew)安裝Python。 這與2017年的結果非常相似。

 

640?wx_fmt=png

 

你使用以下工具隔離Python開發環境嗎?

 

在開發或部署階段隔離Python環境已經是很長一段時間以來的最佳實踐。 毫無疑問,pipenv和較低階別的virtualenv是建立和管理新的Python環境的兩個最常用工具。 令人驚訝的是,21%的Python使用者仍未接受這種做法。

 

640?wx_fmt=png

 

Python框架、庫和技術

 

與前一年相比,受訪者中Flask的使用量增長了15個百分點,今年Flask已成為最受歡迎的Web框架。 45%的受訪者(2017年為41%)選擇了Django。

 

Web框架

 

640?wx_fmt=png

 

資料科學框架和庫

 

最流行的資料科學框架和庫是:NumPy,Pandas,Matplotlib和SciPy。 特定於機器學習的庫,如SciKit-Learn,TensorFlow,Keras等也非常受歡迎,這與機器學習領域的快速發展密切相關。

 

640?wx_fmt=png

 

通用框架和庫

 

超過一半的Python使用者使用了Requests。 Pillow也很受歡迎。

 

640?wx_fmt=png

 

雲平臺

 

55%使用雲平臺的Python使用者更喜歡AWS。Google Cloud Platform排在第二位,其次是Heroku,DigitalOcean和Microsoft Azure。大約三分之一的受訪者不使用任何雲解決方案。

 

如何在雲平臺執行程式碼? (多選)

 

640?wx_fmt=png

 

如何在雲平臺上進行開發?

 

640?wx_fmt=jpeg

 

開發工具

 

作業系統

 

近三分之二的受訪者選擇Linux作為他們的開發環境作業系統。

640?wx_fmt=png

 

測試框架

 

640?wx_fmt=png

 

最受歡迎的單元測試框架是pytest,然後是unittest。 其他單元測試框架受歡迎程度一般。 不過35%的Python使用者不使用任何測試框架,並且可能沒有測試他們的程式碼。 在上邊“隔離Python開發環境”部分中,我們發現大約五分之一的Python使用者不使用Python隔離。

 

資料庫

 

大多數人使用免費或開源資料庫,如PostgreSQL,MySQL或SQLite。由於大量的Python使用者正在進行某種形式的機器學習或資料工程,導致MongoDB和Redis等非關係型資料庫也非常受歡迎。

 

640?wx_fmt=png

 

ORM

 

兩個最流行的ORM是SQLAlchemy和Django ORM,它們與兩個領先的Web開發框架:Flask和Django的流行度相匹配。

 

640?wx_fmt=png

 

大型資料工具更有可能被機器學習工程師使用,這就是為什麼76%的受訪者沒有選擇任何工具。

 

640?wx_fmt=png

 

半數受訪的Python使用者不使用任何CI(持續整合系統)解決方案。最受歡迎的三個CI解決方案是:Jenkins, Gitlab CI和Travis。

 

640?wx_fmt=png

 

配置管理方面,大部分Python使用者不使用配置管理工具。

 

640?wx_fmt=png

 

編輯器和IDE

 

為了找到開發者們最喜歡的編輯器和IDE,我們將該問題設定成了單選。通過資料瞭解到,

 

PyCharm是最受歡迎的Python開發工具,PyCharm Professional和Community版本的合計份額為35%。 有趣的是,VS Code從2017年的7%上升到2018年的16%,成為第二最受歡迎的Python開發編輯器。 很可能是因為VS Code的快速增長,許多其他編輯的使用者份額減少了。

 

Web開發人員與資料科學家的編輯偏好略有不同。 他們比資料科學家更喜歡PyCharm,VS Code,Vim和Sublime,而許多資料科學家更喜歡Jupyter Notebook作為他們的主要工具。

 

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

 

Python開發中,相對流行的工具和特性包括版本控制,程式碼自動完成,程式碼重構,編寫單元測試以及使用Python專案的虛擬環境都佔據了最高點。

 

其他流行的工具和功能包括SQL資料庫,除錯和程式碼linting。 NoSQL資料庫,Python分析器和程式碼覆蓋工具使用最少。

 

640?wx_fmt=png

 

開發者職業相關和使用情況

 

超過一半的Python使用者是全職工作,19%是學生,13%是半自由或自由職業者。 與2017年相比,2018年受訪使用者中學生人數明顯減少,就業人數更多。

 

640?wx_fmt=png

 

工作角色

 

73%的受訪使用者是開發者或者程式設計師。12%的其他選項中,填寫最多的是資料科學家、運維、研究者和教師。

 

640?wx_fmt=png

 

涉及專案數量

 

17%的Python使用者只做一個專案,42%的使用者同時做多個專案。

 

640?wx_fmt=png

 

團隊開發還是獨立開發?

 

640?wx_fmt=png

 

團隊規模

 

640?wx_fmt=png

 

公司規模

 

640?wx_fmt=png

 

受訪Python使用者公司的所屬行業

 

640?wx_fmt=png

 

IT經驗

 

640?wx_fmt=png

 

年齡分佈

 

640?wx_fmt=png

 

更多報告內容,請見報告原文

https://www.jetbrains.com/research/python-developers-survey-2018/

 

(本文為Python大本營翻譯文章,轉載請聯絡微信1092722531)

如何挑戰百萬年薪的人工智慧!

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 

群招募

 

掃碼新增小助手微信,回覆:公司+研究方向(學校+研究方向),邀你加入技術交流群。技術群稽核較嚴,敬請諒解。

640?wx_fmt=jpeg

 

推薦閱讀:

                     640?wx_fmt=png

相關文章