取代 JavaScript,Python 成为了被提问最多的编程语言

阅读数:18143 2019 年 4 月 23 日

自 2008 年成立以来,Stack Overflow 收到了开发人员提出的数以百万计的问题,那么开发人员最希望在 Stack Overflow 上解决哪些问题呢?为此,我们选择了当前流行的 11 种编程语言,并观察开发人员针对这些编程语言都提了哪些问题?

(被选择的 11 种编程语言)

就原始问题的数量而言,JavaScript 是 Stack Overflow 中被提问最多的编程语言,主要原因是无论开发人员以何种方式使用 Internet,都需要了解一些 JavaScript。因此在大量不同的应用程序和服务中都可以看见 JavaScript 的身影。

如果我们从时间维度来看,从 2011 年起,Python 在 Stack Overflow 中的提问数量出现了明显的上升,这可能要归因于数据科学的发展。2019 年,Python 成功超越 JavaScript,成为 Stack Overflow 中提问数量最多的编程语言。

开发人员到底都在问哪些问题?最受质疑的框架、包、函数和方法是什么? 最令开发人员头疼的数据类型是什么?不同语言之间的问题存在哪些共性和差异?

为了搞清楚上述问题,我们从上面这 11 种编程语言的提问中各抽取了投票最高的 1000 个问题,并使用 Python 做了数据清理,然后将这 11000 个问题整合到一个 JavaScript 词云算法中,从中我们得到了一些结论。

JavaScript

JavaScript 面世已有 23 年,在 Stack Overflow 中也已经有 11 年,其中“jquery”是迄今为止最受质疑的 JavaScript 框架。

Python

Python 最早出现在 1990 年,如今是数据科学家首选的编程语言之一。Python 的问题比较常出现在连接数据处理库,例如“panda”和“dataframe”。

Python 是一种通用的“胶水”语言,可以应用于不同的技术领域,这也是为什么 Web 开发框架 django 会收到比较多的疑问。

R

R 语言也是数据科学家常用的编程语言。但与 Python 不同的是,R 语言几乎只用于数据处理,因此关于 R 语言的疑问集中在“dataframe”、“datatable”和“matrix”。

Python 和 R 都有优秀的数据操作库,如果就数据可视化而言,很多人认为 R 语言要优于 Python。但是在 Stack Overflow 中的实际情况是,R 语言中的数据可视化库“ggplot”被开发者提问的最多。

Ruby

Ruby 出现于 90 年代中期,其获得开发者比较多的关注是在 2005 年,David Heinemeier Hansson(DHH) 发布了基于 Ruby 的开发框架 Ruby on Rails。目前开发者提问最多的也是 Ruby on Rails。

C#

C# 是微软公司在 2000 年发布的一种面向对象的编程语言,运行于 .NET Framework 和 .NET Core 上。

C++

C++ 发布于 1985 年,是目前电子游戏开发人员的首选语言。针对 C++,开发人员的提问主要集中在多边形基本构建块 vector,因为多边形是三维视频游戏的基本视觉构建块。

Java

Java 首次发布于 1995 年,是一种写一次可以在任何地方运行的通用编程语言。Java 是在 90 年代末和万维网早期的 PC 热潮中流行起来的,是许多 Windows 应用程序背后的驱动力。现在,Java 主要被用来开发 Android 应用程序。

Objective-C

Objective-C 首次发布于 1984 年,是这 11 种编程语言中最古老的。Objective-C 是苹果为 OSX 操作系统提供支持的主要语言,现在主要为 iPhone 上的 iOS 应用程序提供支持。

Swift

Swift 首次出现于 2014 年,目前在苹果的开发领域已经取代了 Objective-C。

从上面 Swift 的词云中,我们发现了一个很有趣的标签“Objective-C”,可能的原因是很多 iOS 开发者希望通过 Stack Overflow 来学习更多的知识。

PHP

PHP 首次发布于 1995 年,被设计为用于 web 开发的服务器端脚本语言。当然,PHP 现在的用途仍是如此,所以围绕 PHP 的提问主要集中在“laravel”框架。

SQL

与前 10 种功能齐全的编程语言不同,SQL 是专为数据操作所设计的。正因为此,SQL 最常见的痛点都围绕着数据库访问,词云中的关键字主要有 sever、mysql、database、query、select 等等。

随着时间的推移,每一种编程语言都有一个十分擅长的使用场景,例如 R 语言和数据科学,Swift 和 iOS 开发,C++ 和视频游戏开发。使用场景不同也解释了为什么大家提问的类型和方向会有所不同。除了差异性,我们也从调查中看到了一些共性的问题,例如在基本的数据类型中,字符串和数组是经常出现的痛点。

附 11000 个问题的词云:

原文链接:https://www.globalapptesting.com/blog/picking-apart-stackoverflow-what-bugs-developers-the-most

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论

最新评论

亭亭亭 2019 年 04 月 26 日 02:06 0 回复
String 哈哈哈
Geek_8c4fec 2019 年 04 月 25 日 23:16 0 回复
明明是被提问最多,什么被质疑最多😓
2019 年 04 月 25 日 13:44 0 回复
哪哪都有string
InfoQ_jc1919 2019 年 04 月 25 日 10:18 0 回复
质疑不多,改为“问询”好点
小强 2019 年 04 月 24 日 15:33 1 回复
1.原文标题也不是你本文的标题,小编也只是用了原文内容中一张图片的文字内容(“Python overtakes JavaScript as most questioned language”),机翻的痕迹太严重,“提问”还是“质疑”,如果是 Stack Overflow经常用的人肯定知道用哪个词。 2.But more recently it’s found a home in “Android” (middle-right) app development.(原文) 现在,Java 主要被用来开发 Android 应用程序。(infoq) 这个意译的又让人更无力吐槽了。
欢迎来InfoQ当社区编辑啊~~:) 1 回复
Quasimodo 2019 年 04 月 23 日 14:52 3 回复
我觉得你们infoq写标题能不能不要这么标题党。 “最受质疑”=“被提问次数最多”?这种措辞有点不妥吧。
特地注册了帐号来评论,我真的去看英文原文了,人家是说“提问最多的”。我真的质疑infoq小编的翻译能力了。 1 回复
Tina 回复 achermao
感谢指正。文章标题受Hackernews启发,也许有点标题党,Python overtakes JavaScript as most questioned language on StackOverflow (globalapptesting.com) 302 points by nnx 3 days ago | hide | past | web | favorite | 161 comments 0 回复
同特意注册来评论,赞成标题党的说法。questioned 可以翻译成被质疑的,也可以翻译成被询问的(被提问)。 python语言只是受欢迎所以使用的人比较(最)多,所以被提问最多,但是翻译成最被质疑就成了python是最烂的语言。两种翻译意思刚好相反。 0 回复
查看更多
没有更多了