什么问题最让程序员头秃?我们分析了11种语言的11000个问题
導讀:自 2008 年成立以來,Stack Overflow 一直在拯救所有類型的開發人員。自那時以來,開發人員提出了數百萬個關于開發領域的問題。
但是,迫使開發者轉向 Stack Overflow 的問題都是什么呢?
作者:Nick Roberts編譯 /?來源:AI科技大本營(ID:rgznai100)我們選擇了 11 種最流行的編程語言(以 Stack Overflow 標簽的頻率來衡量),并進行了一項研究,旨在揭示這些問題中的某些共性和差異。
但在這之前,讓我們先瞧瞧如下所示的 11 種語言。
?
就所提問題的數量而言,JavaScript 是自 Stack Overflow 成立以來最常被問到的編程語言。這可能是由于其在眾多不同應用和服務中無處不在:無論你以任何方式在網絡上工作,都可能需要了解一些 JavaScript。
但是,盡管 JavaScript 可能是整體排名最高的編程語言,但當我們按時間劃分數據時,我們發現需要一個新的王冠。
?
2011年,《哈佛商業評論》將數據科學家標記為“ 21世紀最性感的工作(Sexiest Job of the 21st Century)”。從那以后,數據科學家常用的 Python 語言的受歡迎程度一直在增長……以至于到 2019 年,Python 超越 JavaScript 成為了 StackOverflows 討論最多的編程語言。
(也許Python正在迅速成為最受歡迎的編程語言,或者與其他語言相比,Python 新編碼者的所占比例更大!)
但是這些開發人員到底在問什么呢?討論最多的框架、軟件包、功能和方法是什么?造成痛苦最大的是哪些數據類型?這些問題在不同語言之間有何不同??為此,我們做了以下動作:
針對上面列出的11種編程語言中,我們分別抽取了 1000 個最受好評的 Stack Overflow 問題。
在 Python 中做了一些數據清理(自然是 pandas)。
我們將所有 11000 個問題(超過 96000 個單詞)輸入到 JavaScript 的詞云算法中,從而使我們可以全方位看到不同語言中普遍出現的痛點。
以下就是結果。
01 JavaScript
? ? ? ?
JavaScript 已經存在了 23 年,Stack Overflow 是 11 年。在那 11 年中,“?jquery?”(中左)是迄今為止討論最多的 JavaScript 框架。
02 Python
? ? ? ?
Python 實際上比 JavaScript 出現的時間要長 6 年。Guido van Rossum 的想法始于1990年,如今已演變成數據科學家的一種編程語言。顯然,它最常見的痛點是連接到數據處理庫:“?pandas?”(中左)和“?dataframe?”(中上)位列其中。
但是,Python 是一種通用的膠水語言,它涉及許多不同的技術領域,解釋了頻繁被討論的“?django?”(中底)Web開發框架。?
03 R
? ??
R 也許是數據科學家所選的第二語言,它與 Python 的不同之處在于它幾乎專門用于這一目的。諸如“?dataframe?”(右上),“?datatable?”(右上)和“?matrix?”(中)之類的似乎使 R 用戶頭疼的數據處理特定概念。
Python 和 R 都具有出色的數據操作庫,盡管在數據可視化方面,有人認為 R 比 Python 更具優勢。話雖如此,數據可視化庫“?ggplot?”(中間)是迄今為止 在 R 語言中討論最多的概念。
因此,也許 Python 用戶會發現 matplotlib 更易于處理!?
04 Ruby
? ? ? ?
Ruby 首次出現在 90 年代中期,現在已經成為服務器端框架 ruby-on-“?rails?”(右上方)的主要語言。?
05 C#
? ? ? ?
C#(C Sharp,2000年)是由 Microsoft 開發的,主要用于其 .NET 框架(“?net?”,中右)。?
06 C ++
? ? ? ?
C ++(1985)逐漸成為視頻游戲開發人員的首選語言。3D 視頻游戲的基本視覺構建塊是多邊形,而多邊形的基本構建塊是“vector”(中右)。?
07 Java
?? ? ??? ? ? ?
Java(1995)作為一種通用的“一次寫入,隨處運行”的語言而創建。在 90 年代后期和互聯網初期的 PC 繁榮時期,它變得很流行,并且是許多 Windows 應用背后的推動力。
Android?”(中右)應用開發中的主要語言。?
08 Objective-C
? ? ? ?
作為這項研究中最古老的語言之一,Objective-C(1984)是蘋果 OSX 操作系統以及最近在“iPhone?”(中)中“?iOS?”(左下)應用的主要支持語言......直到 Swift 推出為止。?
09 Swift
?? ? ? ??
首次出現于 2014 年的 Swift 在蘋果開發領域已取代 Objective-C。盡管在標簽為#swift 的 Stack Overflow 的問題中,“objective-c”被提及的頻率(中右)可能代表了成千上萬的 iOS 開發者希望 Stack Overflow 來更新他們的知識。?
10 PHP
? ?
PHP(1995)是用于Web開發的服務器端腳本語言。今天它仍然用于此目的,你可以從圍繞語言“laravel?”框架(中左)的問題頻率看到這一證據。?
11 SQL
?
與本研究中的其他一些語言相比,SQL 不是一種功能齊全的編程語言。它專為數據處理這一項工作而設計。由于這種特殊性,SQL 最常見的痛點都圍繞數據庫訪問:“?sever?”,“?mysql?”,“?database?”,“?query?”,“?select?”。
隨著時間的推移,每種編程語言都已針對技術中的特定細分市場而設計。R代表數據科學,Swift 代表 iOS 開發,C++ 代表視頻游戲開發,這解釋了所出現問題類型的某些差異。這就解釋了為什么我們看到在 SQL 中“ database ”是一個普遍被討論的概念,但在 Objective-C 等語言中卻不是這樣。
盡管存在這些明顯的差異,但這些可視化表示不同領域內的一些基本相似之處。例如字符串和數組(顯然不是整數、浮點數或布爾值)的基本數據類型是常見的痛點,這導致所有有信條的開發人員轉向 Stack Overflow。
本著團結精神,這是我們提取的所有 11000 個問題的詞云:
Google 可以幫助解決一些問題......
但其他事情,我們還要找 Stack Overflow。
原文鏈接:
https://www.globalapptesting.com/blog/picking-apart-stackoverflow-what-bugs-developers-the-most
有話要說👇 Q:最讓你頭禿的,是什么問題? 歡迎留言與大家分享 猜你想看👇總結
以上是生活随笔為你收集整理的什么问题最让程序员头秃?我们分析了11种语言的11000个问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么Spark能成为最火的大数据计算引
- 下一篇: 马斯克嘲讽元宇宙:谁会整天戴个头盔?