专栏名称: AI数据派
THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。
目录
相关文章推荐
鲁中晨报  ·  刘德华方紧急声明! ·  17 小时前  
德州晚报  ·  创造历史!德州这支男子篮球队挺进全运会 ·  20 小时前  
山东省交通运输厅  ·  交通强国山东示范区聊城样板建设推进会议召开 ·  昨天  
鲁中晨报  ·  颜宁(山东人),拟获中国女性至高荣誉 ·  2 天前  
51好读  ›  专栏  ›  AI数据派

​哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题

AI数据派  · 公众号  ·  · 2019-10-23 07:59

正文

授权自AI科技大本营(ID:rgznai100)
本文 1800字 ,建议阅读 5分钟

文介绍了 11 种最流行的编程语言并进行了一项研究,旨在揭示这些问题中的某些共性和差异。


自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员。 自那时以来,开发人员提出了数百万个关于开发领域的问题。

但是,迫使开发者转向 Stack Overflow 的问题都是什么呢?

我们选择了 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 的词云算法中,从而使我们可以全方位看到不同语言中普遍出现的痛点。

以下就是结果。


JavaScript

JavaScript 已经存在了 23 年,Stack Overflow 是 11 年。 在那 11 年中,“ jquery ”(中左)是迄今为止讨论最多的 JavaScript 框架。


Python

Python 实际上比 JavaScript 出现的时间要长 6 年。 Guido van Rossum 的想法始于1990年,如今已演变成数据科学家的一种编程语言。 显然,它最常见的痛点是连接到数据处理库: “ pandas ”(中左)和“ dataframe ”(中上)位列其中。
但是,Python 是一种通用的胶水语言,它涉及许多不同的技术领域,解释了频繁被讨论的“ django ”(中底)Web开发框架。
R
R 也许是数据科学家所选的第二语言,它与 Python 的不同之处在于它几乎专门用于这一目的。 诸如“ dataframe ”(右上),“ datatable ”(右上)和“ matrix ”(中)之类的似乎使 R 用户头疼的数据处理特定概念。
Python 和 R 都具有出色的数据操作库,尽管在数据可视化方面,有人认为 R 比 Python 更具优势。 话虽如此,数据可视化库“ ggplot ”(中间)是迄今为止 在 R 语言中讨论最多的概念。
因此,也许 Python 用户会发现 matplotlib 更易于处理!

Ruby

Ruby 首次出现在 90 年代中期,现在已经成为服务器端框架 ruby-on-“ rails ”(右上方)的主要语言。

C#

C#(C Sharp,2000年)是由 Microsoft 开发的,主要用于其 .NET 框架(“ net ”,中右)。

C ++

C ++(1985)逐渐成为视频游戏开发人员的首选语言。 3D 视频游戏的基本视觉构建块是多边形,而多边形的基本构建块是“vector”(中右)。

Java

Java(1995)作为一种通用的“一次写入,随处运行”的语言而创建。 在 90 年代后期和互联网初期的 PC 繁荣时期,它变得很流行,并且是许多 Windows 应用背后的推动力。

但最近,它成了“ Android ”(中右)应用开发中的主要语言。

Objective-C

作为这项研究中最古老的语言之一,Objective-C(1984)是苹果 OSX 操作系统以及最近在“iPhone ”(中)中“ iOS ”(左下)应用的主要支持语言......直到 Swift 推出为止。


Swift







请到「今天看啥」查看全文