全面解讀丨Python資料清理,總結出11種程式語言的常見難點!
對於開發人員來說,哪些程式語言最受歡迎?哪些框架、包、函式和方法被提問的次數最多?哪種資料型別使用起來最痛苦?各個程式語言之間的問題有何不同?——本文中彙總了數百萬個各個開發領域內的不同問題,挑選了11種最流行的程式語言,進行了最為全面的解讀。

以下為譯文:
自2008年創立以來,Stack Overflow一直致力於拯救所有領域的開發人員。到目前為止,開發人員在該網站上提出了數百萬個各個開發領域內的不同問題。但是,究竟是什麼原因導致開發人員紛紛轉向了Stack Overflow?
我們挑選了11種最流行的程式語言(根據Stack Overflow上標記的頻率),並開展了一項研究,旨在揭示這些問題中的一些共性和差異。
在進入正題之前,讓我們先來看看我們選擇的11種語言,如下圖所示。

就提問的次數而言,自Stack Overflow成立以來,JavaScript一直是開發人員最常問及的語言。這可能是由於眾多不同的應用程式和服務紛紛採用了JavaScripts,如果你涉足網際網路,那麼就需要多少了解一些JavaScript。
然而,雖然從總體上來看JavaScript處於首位,但是當我們按照時間分割資料後,就會看到一個新的王者。

2011年,“哈佛商業評論”將資料科學家評為“21世紀最性感的工作”。從此以後,資料科學家的語言—— Python越來越受歡迎 ……時至2019年,它取代JavaScript成為StackOverflows上提問次數最多的程式語言。
Python迅速成為了最流行的程式語言,也有可能是因為與其他語言相比,從事Python的程式設計師比例較大!
但是,這些開發人員到底提出了哪方面的問題呢?哪些框架、包、函式和方法被提問的次數最多?哪種資料型別使用起來最痛苦?各個程式語言之間的問題有何不同?
為了搞清楚這些問題,我們做了以下分析:
針對上述11種程式語言,從Stack Overflow上提取人氣最高的1千個問題;
利用Python做了一些資料清理;
將這11000千個問題(9萬6千多個單詞)整合到一個JavaScript的單詞雲演算法中,然後總結出每種語言中普遍存在的難題。
結果如下。
JavaScript

JavaScript已有23年的歷史,並在Stack Overflow上活躍了11年。而在這11年中,“jquery”(上圖左中)是迄今為止提問次數最多的JavaScript框架。
Python

Python的出現實際上比JavaScript還要早6年。早在1990年,Guido van Rossum就首次提出了這個想法,如今它已成為資料科學家首選的語言。這種語言最常遇見的難題自然與資料庫處理庫相關:“pandas”(上圖左中)和“dataframe”(上圖中間)就是其中之一。
然而,Python作為一種通用的萬能語言,在許多不同的技術領域都有應用,這就說明了為什麼針對Web開發框架“django”(上圖的中心底部)的提問如此頻繁。
R語言

R語言是資料科學家選擇的第二種語言,與Python不同,R幾乎只能用於資料分析。因此,與資料處理相關的概念,例如“dataframe”(上圖右上)、 “datatable”(上圖右上)以及“matrix” (上圖中間) 等問題讓R語言的使用者頗為頭疼。
Python和R都有出色的資料操作庫,儘管有些人認為在資料視覺化方面,R比Python更勝一籌。話雖如此,資料視覺化庫“ggplot” (上圖中間)是迄今為止R語言最常被問及的概念。
也許Python使用者認為matplotlib更容易使用!
Ruby

Ruby問世於90年代中期,如今Ruby的主要應用在於伺服器端的框架“rails”(上圖右上)。
C#

C#是微軟2000年開發的程式語言,主要用於.NET框架(上圖右邊的“net”)。
C ++

C ++(始於1985年)已經成為視訊遊戲開發者的首選語言。3D視訊遊戲的基本視覺構建塊是多邊形,而多邊形的基本構建塊是“vector”(上圖右中)。 另外想要成為一個優秀的、有能力程式設計師的話 ,其實作為一個開發者或者程式設計學習者,有一個學習的氛圍跟交流圈子特別重要!這裡我推薦一個C語言C++交流Q群,7-4-1-8-1-8-6-5-2,不管你是大牛還是小白,大家都一起成長進步。
Java

Java(始於1995年)的建立是為了一個通用的目標:“編寫一次,到處執行”。90年代後期的PC熱潮和全球資訊網的早期時代Java就開始流行了,而且它也是許多Windows應用程式背後的驅動力。
然而,最近Java也在“Android”(上圖右中)應用程式開發中找到了新的歸宿。
Objective-C

Objective-C(始於1984年)是本文研究的語言中最古老的一種,是蘋果支援的OSX作業系統的主流語言,最近在“iPhone”(上圖中心)上的“iOS”(上圖左下)應用程式中的應用居多……直到Swift的引入。
Swift

Swift首次出現於2014年,如今已取代蘋果開發領域的Objective-C。雖然Stack Overflow中的很多問題標記成了#swift,但實際上都是與“objective-c”(上圖右中)相關的問題,或許這說明成千上萬的iOS開發人員希望通過Stack Overflow更新自己的知識。
PHP

PHP(始於1995年)是一種用於Web開發的伺服器端指令碼語言。如今這種語言仍然服務於這個目的,因此你可以看到這種語言周圍圍繞著有關“laravel”(上圖左中)框架的提問。
SQL

在文字的研究中,SQL與其他程式語言不同,它並不是具有完整程式設計功能的語言,它只負責一項專門的工作:資料操作。由於這種特殊性,SQL使用者最常遇見的難題是資料庫訪問:“sever”、“mysql”、“database”、“query”、“select”。
隨著時間的推移,每種程式語言都會在技術領域找到自己的獨特定位,有些語言甚至就是為特殊的目的而設計誕生的。R是為了資料科學,而Swift是為了iOS開發,還有C ++是為了視訊遊戲開發,這也就解釋了各種提問型別之間的差異。同時也說明了我們在SQL中經常看到“database”的相關提問,而在其他語言(例如Objective-C)中看不到的原因。
儘管有這些明顯的差異,但上述各個視覺化的圖形也體現出了不同領域內的一些基本相似之處。例如字串和陣列(不是整數、浮點或布林值)等基本的資料型別也是開發人員常常遇到的痛點,這些也是導致各個領域的開發人員向Stack Overflow求救的原因。
最後,我們來看一看這11000個問題總體的分析結果圖:

雖然,Google搜尋可以幫助你解決一些問題……然而,Stack Overflow才是開發人員最終的依靠。
作者 | Nick Roberts
譯者 | 彎月
責編 | 郭芮
出品 | CSDN(ID:CSDNnews)
原文:https://www.globalapptesting.com/blog/picking-apart-stackoverflow-what-bugs-developers-the-most,本文由CSDN翻譯,轉載請註明來源出處。