我们分析了Stack
Overflow的标签(tag)以了解最流行的编程语言,并在更大的语言范围内统计了大家关心的问题来进一步了解子标签。

对于开发人员来说,哪些编程语言最受欢迎?哪些框架、包、函数和方法被提问的次数最多?哪种数据类型使用起来最痛苦?各个编程语言之间的问题有何不同?——本文中汇总了数百万个各个开发领域内的不同问题,挑选了
11 种最流行的编程语言,进行了最为全面的解读。

最流行的编程语言莫过于Java了,之后是Javascript,C#,PHP,jQuery,Python,HTML,C++。在标签排名
TOP50中,前10名占据了所提问题的55%,并且前6名,即Java、Javascript、C#、PHP、jQuery、Python占比超过
41%。

图片 1

图片 2

作者 | Nick Roberts

Java

图片 3

Java凭借超过10%的问题成为了标签排名TOP50的榜首。当我们检查与Java相关的标签时,问的最多的问题,实际上占了总问题13%的标签
为’android’,其次是Java的GUI工具包Swing。关键的观察结果是,JSP——服务器端脚本技术,占据了与Java相关的问题总量的
2%。

译者 | 弯月

Javascript

从欢迎程度看,JavaScript和Java差不多是并驾齐驱的。

图片 4

虽然在许多领域,如游戏开发,大多数联合标签JavaScript的标签大多与构建网页相关。
jQuery,这个客户端JavaScript库在联合标签中的比例高达35%。

值得注意的是web应用框架AngularJS占比约4%,而Node.js,网络应用的运行时占2.9%左右。

责编 | 郭芮

PHP

PHP是Stack Overflow上最流行的服务器端脚本语言。

图片 5

MySQL和SQL,貌似成为了广泛和PHP共用的数据库,前者的联合标签占17.6%,后者占3.9%。

博客工具和CMS、WordPress(基于PHP并用于PHP的web应用框架),CodeIgniter在这里也占据了一定的比例。

以下为译文:

Python

图片 6

Web框架Django在所有与Python相关的框架中是最受欢迎的web框架,占联合标签的10.5%,其次是Flask,占框架的1.4%。

涉及到Python 3.X版本的问题是总联合标签的3.3%。

用于科学计算的Python包,NumPy,数据分析库Pandas,2D绘图库Matplotlib也是重要的因素,分别占比3.6%,2.3%和2.2%。

译文链接:
英文原文:Stack Overflow Most Popular Programming Languages &
Tags
翻译作者:码农网 – 小峰

自 2008 年创立以来,Stack Overflow
一直致力于拯救所有领域的开发人员。到目前为止,开发人员在该网站上提出了数百万个各个开发领域内的不同问题。但是,究竟是什么原因导致开发人员纷纷转向了
Stack Overflow?

我们挑选了 11 种最流行的编程语言(根据 Stack Overflow
上标记的频率),并开展了一项研究,旨在揭示这些问题中的一些共性和差异。

在进入正题之前,让我们先来看看我们选择的 11 种语言,如下图所示。

图片 7

就提问的次数而言,自 Stack Overflow 成立以来,JavaScript
一直是开发人员最常问及的语言。这可能是由于众多不同的应用程序和服务纷纷采用了
JavaScripts,如果你涉足互联网,那么就需要多少了解一些 JavaScript。

然而,虽然从总体上来看 JavaScript
处于首位,但是当我们按照时间分割数据后,就会看到一个新的王者。

图片 8

2011 年,” 哈佛商业评论 ” 将数据科学家评为 “21 世纪最性感的工作
“。从此以后,数据科学家的语言——Python 越来越受欢迎……时至 2019 年,它取代
JavaScript 成为 StackOverflows 上提问次数最多的编程语言。

Python 迅速成为了最流行的编程语言,也有可能是因为与其他语言相比,从事
Python 的程序员比例较大!

但是,这些开发人员到底提出了哪方面的问题呢?哪些框架、包、函数和方法被提问的次数最多?哪种数据类型使用起来最痛苦?各个编程语言之间的问题有何不同?

为了搞清楚这些问题,我们做了以下分析:

针对上述 11 种编程语言,从 Stack Overflow 上提取人气最高的 1 千个问题;

利用 Python 做了一些数据清理;

将这 11000 千个问题(9 万 6 千多个单词)整合到一个 JavaScript
的单词云算法中,然后总结出每种语言中普遍存在的难题。

结果如下。

JavaScript

图片 9

JavaScript 已有 23 年的历史,并在 Stack Overflow 上活跃了 11 年。而在这
11 年中,”jquery”是迄今为止提问次数最多的 JavaScript 框架。

Python

图片 10

Python 的出现实际上比 JavaScript 还要早 6 年。早在 1990 年,Guido van
Rossum
就首次提出了这个想法,如今它已成为数据科学家首选的语言。这种语言最常遇见的难题自然与数据库处理库相关:”pandas”和
“dataframe”就是其中之一。

然而,Python
作为一种通用的万能语言,在许多不同的技术领域都有应用,这就说明了为什么针对
Web 开发框架 “django”的提问如此频繁。

R 语言

图片 11

R 语言是数据科学家选择的第二种语言,与 Python 不同,R
几乎只能用于数据分析。因此,与数据处理相关的概念,例如 “dataframe”、
“datatable”以及 “matrix” 等问题让 R 语言的用户颇为头疼。

Python 和 R 都有出色的数据操作库,尽管有些人认为在数据可视化方面,R 比
Python 更胜一筹。话虽如此,数据可视化库 “ggplot” 是迄今为止 R
语言最常被问及的概念。

也许 Python 用户认为 matplotlib 更容易使用!

Ruby

图片 12

Ruby 问世于 90 年代中期,如今 Ruby 的主要应用在于服务器端的框架
“rails”。

C#

图片 13

C# 是微软 2000 年开发的编程语言,主要用于 .NET 框架(上图右边的
“net”)。

C ++

图片 14

C ++(始于 1985 年)已经成为视频游戏开发者的首选语言。3D
视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是 “vector”。

Java

图片 15

Java(始于 1995 年)的创建是为了一个通用的目标:” 编写一次,到处运行
“。90 年代后期的 PC 热潮和万维网的早期时代 Java
就开始流行了,而且它也是许多 Windows 应用程序背后的驱动力。

然而,最近 Java 也在 “Android”应用程序开发中找到了新的归宿。

Objective-C

图片 16

Objective-C(始于 1984 年)是本文研究的语言中最古老的一种,是苹果支持的
OSX 操作系统的主流语言,最近在 “iPhone”上的
“iOS”应用程序中的应用居多……直到 Swift 的引入。

Swift

图片 17

Swift 首次出现于 2014 年,如今已取代苹果开发领域的 Objective-C。虽然
Stack Overflow 中的很多问题标记成了 #swift,但实际上都是与
“objective-c”相关的问题,或许这说明成千上万的 iOS 开发人员希望通过 Stack
Overflow 更新自己的知识。

PHP

图片 18

PHP(始于 1995 年)是一种用于 Web
开发的服务器端脚本语言。如今这种语言仍然服务于这个目的,因此你可以看到这种语言周围围绕着有关
“laravel”框架的提问。

SQL

图片 19

在文本的研究中,SQL
与其他编程语言不同,它并不是具有完整编程功能的语言,它只负责一项专门的工作:数据操作。由于这种特殊性,SQL
用户最常遇见的难题是数据库访问:”sever”、”mysql”、”database”、”query”、”select”。

随着时间的推移,每种编程语言都会在技术领域找到自己的独特定位,有些语言甚至就是为特殊的目的而设计诞生的。R
是为了数据科学,而 Swift 是为了 iOS 开发,还有 C ++
是为了视频游戏开发,这也就解释了各种提问类型之间的差异。同时也说明了我们在
SQL 中经常看到 “database” 的相关提问,而在其他语言(例如
Objective-C)中看不到的原因。

尽管有这些明显的差异,但上述各个可视化的图形也体现出了不同领域内的一些基本相似之处。例如字符串和数组(不是整数、浮点或布尔值)等基本的数据类型也是开发人员常常遇到的痛点,这些也是导致各个领域的开发人员向
Stack Overflow 求救的原因。

最后,我们来看一看这 11000 个问题总体的分析结果图:

图片 20

虽然,Google 搜索可以帮助你解决一些问题……然而,Stack Overflow
才是开发人员最终的依靠。