Python開發者年度調研:一半Python使用者也用JS,2/3選擇Linux系統
大資料文摘出品
來源:jetbrains
編譯:蔣寶尚
作為高階程式語言,Python的受歡迎程度近幾年一直在往上漲。每年,Python官方都會針對開發者社群做一次年度報告,統計當年的發展情況,併發布調研報告。
今年也不例外,有超過150多個國家的2萬多名開發人員加入了這場深入調查,剛剛釋出的報告透過7個角度對Python的使用現狀、趨勢與未來進行了解讀。
以下是幾個最新的趨勢:
1、使用Python作為主語言的開發人員中,有一半的使用者也使用JavaScript。Python也經常混搭HTML/CSS,Bash/Shell,SQL,C/C++和Java一起使用。
2、Python用於資料分析比用於Web開發更廣泛,資料分析佔比58%。
3、84%的使用者已經使用Python3,Python2的比例僅為16%。2017年Python3的使用率只有75%。
4、Flask和Django是Web開發人員中流行度最高的框架,兩者份額相差無幾,但都甩其他Python Web框架“好幾條街”。
5、NumPy,Pandas,Matplotlib和SciPy是最受歡迎的資料科學框架和庫。機器學習專用的庫如SciKit-Learn,TensorFlow,Keras等也很受歡迎。
6、AWS是Python開發人員最受歡迎的雲平臺,其次才是Google Cloud Platform,Heroku,DigitalOcean 和Microsoft Azure。
7、在2018年,運維開發者數量明顯增加(與2017年相比增加了8個百分點)。在使用Python作為輔助語言的Python使用者中,運維已經取代了Web開發成為第一名。
8、PyCharm的專業版和社群版是最受歡迎的Python 開發工具。VS Code已從2017年的7%增加到2018年的16%,成為Python 開發的第二大最受歡迎的編輯器。
9、幾乎2/3的Python開發人員選擇Linux作為他們開發時的作業系統。
一起來看詳情。
84%的Python使用者將其作為主語言
84%的Python使用者將其作為主語言
Python在開發者中的受歡迎程度確實不假。
關於是否把Python作為第一程式語言的問題,官方調查顯示:在調查中,84%的Python使用者使用Python作為他們的第一程式語言,16%作為第二語言。這與2017年的資料分佈略有不同,當年的情況是:79%使用者使用Python作為主語言,21%作為第二語言。
使用Python的程式設計人員,有一半的人也同時使用JavaScript。從上圖還可以看出,2018年的資料和2017年的資料相差無幾。一些有趣的現象是:Shell從2017年的36%增長到2018年的45%,Go和SQL都增長了2%,而C/C++,Java和C#等語言的佔比減少了。
更多使用者使用Python做資料分析
更多使用者使用Python做資料分析
你是出於什麼目的使用Python?
僅出於個人、教學和副業目的的比重和工作需要所佔的比重相差不多,分別為21%、19%。佔比最多的是是那些工作和個人目的兼顧的使用者人群。
那麼多數使用者用Python來做什麼呢?
統計顯示,資料分析成為了使用者最常用Python的目的,web開發已然失去了霸主地位,雖然,份額從17年的49%上升到到17年的52%,但是增長幅度顯然不如一年8個百分點的資料分析。接下來的排名分別是:運維/系統管理/自動指令碼、機器學習、網頁解析和爬蟲、軟體測試/自動化測試、教學目的、軟體原型、網路程式設計、桌面開發、電腦繪圖、嵌入式開發、遊戲開發、移動端開發、多媒體應用開發、其他
關於你用Python做什麼,還有個單選題,在這個問題中,受訪使用者只能選擇一個選項。乍一看,Web開發27%的份額佔據老大的地位,完虐資料分析的17%。但是,別忘了,資料分析和機器學習加起來可以大致看成“資料科學”,這一領域有28%的份額。
Python3的使用者佔比達84%
如上,Python3的使用率佔84%,Python2的使用率佔比16%。在2017年,這組資料是75%vs25%。
值得一提的是,Python2的下降,是因為它不再積極開發、沒有獲得新功能,並且其維護將會在2020年停止。
做資料分析的使用者,有90%用的是Python3,web有82%,運維則有81%。
PYTHON 框架、庫和技術:Flask最受歡迎
PYTHON 框架、庫和技術:Flask最受歡迎
WEB 框架
與上年相比,Flask的使用量增長了15個百分點,所以,Flask 已成為2018年最受歡迎的Web框架。當然,也有45%的受訪者(2017年為41%)選擇了Django。
資料科學框架和庫
根據統計,最流行的資料科學框架和庫是:NumPy,Pandas,Matplotlib和SciPy。機器學習領域的庫,如Scikit-Learn,TensorFlow,Keras等,也非常受歡迎,這與機器學習越來越流行有關。
通用的框架和庫
上面是通用的Python庫排名。超過一半的Python使用者使用了Requests。Pillow也很受歡迎。五分之一的Python使用者使用了scrapy。
雲平臺
55%使用雲平臺的Python 使用者更喜歡AWS。Google Cloud Platform 排在第二位,其次是Heroku,DigitalOcean 和Microsoft Azure。大約三分之一的受訪者不使用任何雲平臺。
除此之外,OpenStack和Linode各佔6%,OpenShift佔3%,Rackspace佔2%,相對來說,這些平臺比較小眾了一些。
開發工具:三分之二的受訪者選擇Linux
開發工具:三分之二的受訪者選擇Linux
作業系統
根據統計,近2/3的受訪者選擇Linux作為他們的開發環境作業系統。
當然,根據官方說法,對於這個問題,允許多選。所以無法得到系統流行度的結論。
測試框架
單元測試框架pytest排第一,然後是unittest。其他單元測試框架和前兩個差距有點大。
最後,有35%的Python使用者不使用任何測試框架,可能是沒有測試他們的程式碼吧!
資料庫
大多數人使用免費或開源資料庫,如PostgreSQL,MySQL 或SQLite。
MongoDB和Redis 等非關係型資料庫也非常受歡迎,因為非常多的Python使用者正在進行某種形式的機器學習以及資料科學。
大資料工具
機器學習工程師更有可能使用大資料分析工具,因此76%的受訪者沒有選擇任何工具。據統計,Spark以12%的份額佔據了第一名,緊隨其後的是Hadoop和Kafka。
編輯器和IDE
PyCharm是最受歡迎的Python開發工具,PyCharm 專業版和社群版的合計份額為35%。
有趣的是,VS Code從2017年的7%上升到2018年的16%,成為第二個最受歡迎的Python開發編輯器。很可能是因為VS Code的快速增長,許多其他編輯器的使用者份額減少了。
Python開發時使用的特性
工具和功能的受歡迎程度顯而易見:版本控制、程式碼自動補全、程式碼重構、編寫單元測試以及使用Python 專案的虛擬環境都是必不可少的功能。
據官方說法,2018年受訪者中學生較少、經驗豐富的開發人員較多,只能得出結論:在專業團隊中工作的人越長,他們擁有的經驗越多,他們使用的工具和專業技術就越多。
工作人數增加,學生使用者減少
工作人數增加,學生使用者減少
職業狀態
超過一半的Python使用者全職工作,19%是學生,13%是個體經營或自由職業者。與2017年相比,2018年學生人數明顯減少,就業人數也更多。
職業角色
這是個多選題,受訪者可以選擇多個工作角色,所以總數大於100%。根據統計大約3/4的人是開發人員,幾乎1/5的人是資料分析師、架構師或團隊負責人。其他項中佔據12%,裡面包括資料科學家、運維、研究員和教師等。
工作經驗:有25%的使用者,工作11年以上
年齡範圍:年齡在21~29歲之間的使用者最多。30歲以上的也佔比1/3
上圖不適合Python全部使用者的分佈圖,而是受訪者的分佈圖,官方說法,此次調查涉及150個國家,2萬多開發人員,其中21%生活在美國,中國受訪者只佔了4%。
公司所屬行業:在“其他”選項中最常列出的行業是零售業,能源業和媒體業。
另外,還有幾個關於公司的統計。
團隊規模
公司規模
最後,可以從下邊連結獲取完整報告?
https://www.jetbrains.com/research/python-developers-survey-2018/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562039/viewspace-2636131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全球超2萬名開發者調研:Python 3滲透率至84%Python
- Python初學者,選擇Python2還是選擇Python3好?Python
- 學習Python用什麼系統好?選擇Linux系統怎麼樣?PythonLinux
- 學Python應該選擇Linux系統還是Windows系統?PythonLinuxWindows
- 學習Python選擇Python2還是Python3呢?Python
- 用Python挖掘Linux系統PythonLinux
- Python2與Python3有何區別?選擇哪個合適?Python
- Python開發到底選擇哪個系統合適?Linux還是Windows?PythonLinuxWindows
- 如何選擇版本控制系統之二---Git的研發應用場景Git
- bug管理系統調研
- 3.2Python流程控制(2):選擇結構Python
- Node.js 和 Python之間如何進行選擇?Node.jsPython
- 綠盟日誌審計系統(NSFOCUS LAS)榮獲“2019年度使用者選擇獎”
- 同時有 python2和 python3,怎麼讓 ipython 選擇不同的版本啟動?Python
- python的選擇結構Python
- 選擇排序(python)實現排序Python
- Linux系統怎麼學?如何選擇合適的Linux系統?Linux
- 有獎調研 | 移動應用開發者生態大調查!
- 選擇 Python3.6 還是 Python 3.7Python
- 學Python選什麼系統好?Windows還是Linux?PythonWindowsLinux
- 如何自學Linux?初學者如何選擇Linux系統?Linux
- 初學Linux最初選擇系統參考Linux
- Python VS Java如何選擇?Python學習分析!PythonJava
- 學Python用什麼系統環境好?推薦Linux系統!PythonLinux
- 業務系統表格調研指令碼指令碼
- python和java該如何選擇?PythonJava
- 選擇排序(OC/java/python/scala)排序JavaPython
- Python GUI開發工具選擇PythonGUI
- 用Python寫一個FUSE(使用者態檔案系統)檔案系統Python
- J2EE開發者選擇何種AJAX框架框架
- Python基礎語法2 元組 & 字典 & 選擇結構Python
- 為什麼伺服器選擇Linux系統伺服器Linux
- 如何選擇版本控制系統——為什麼選擇Git版本控制系統Git
- (3)Linux效能調優之Linux檔案系統Linux
- win10 2個印表機怎麼選擇_win10系統2個印表機如何選擇Win10
- Python下用Scrapy和MongoDB構建爬蟲系統(2)PythonMongoDB爬蟲
- 【有獎調研】華為安全檢測服務開發者調研問卷
- 物理機伺服器選擇win系統還是linux系統好伺服器Linux