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

通过对StackOverflow上11种流行编程语言的11000个高票问题进行分析,揭示了开发人员面临的常见挑战,如JavaScript的jQuery,Python的pandas和数据科学,以及R语言的数据可视化库ggplot。

640?wx_fmt=jpeg

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


640?wx_fmt=png

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

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


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


640?wx_fmt=png


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


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


JavaScript

640?wx_fmt=png


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


Python

640?wx_fmt=png


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


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


R

640?wx_fmt=png

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


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


Ruby

640?wx_fmt=png


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


C#

640?wx_fmt=png


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


C++

640?wx_fmt=png


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


Java

640?wx_fmt=png


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


Objective-C

640?wx_fmt=png


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


Swift

640?wx_fmt=png


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


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


PHP

640?wx_fmt=png


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


SQL

640?wx_fmt=png


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


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


附 11000 个问题的词云:

640?wx_fmt=png


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

(转自InfoQ)

640?

1.突发!意外!华芯通公司将于4月30日关闭

2.深入分析MCU堆栈的作用,以及该如何设置堆栈大小

3.但见高通笑,哪闻英特尔哭?

4.放下偏见,原来嵌入式程序员如此“妖娆”!

5.嵌入式工程师的真情吐露:孤独,却有乐趣!

6.互联网中层员工为何尴尬?

640?wx_fmt=gif

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值