什么问题最让程序员头秃?我们分析了11种语言的11000个问题
导读:自 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 的词云算法中,从而使我们可以全方位看到不同语言中普遍出现的痛点。
以下就是结果。
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
什么问题最让程序员头秃?我们分析了11种语言的11000个问题相关推荐
- 哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题
作者 | Nick Roberts 编译 | AI科技大本营(ID:rgznai100) 自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员.自那时以来,开发人员提出 ...
- google+stackoverflow_哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题...
作者 | Nick Roberts 编译 | AI科技大本营(ID:rgznai100) 自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员.自那时以来,开发人员提出 ...
- 这个必用的开发框架,是多少程序员头秃的存在?
Spring是我们工作中必用的开发框架,而Spring中存在很多概念,本文将给大家介绍其中最重要的几个核心概念和相关面试题,希望大家认真看完,看完必有收获. 什么是BeanDefinition? Be ...
- 程序员薪酬大调查:学哪种语言最赚钱?
转载来自:http://tech.it168.com/a2017/0324/3105/000003105997.shtml?utm_source=ourjs.com [IT168 评论]程序员最常用的 ...
- 一文读懂:程序员为什么要学会画流程图 11种流程图的绘制工具:processon,wps,draw.io, 迅捷画图等 详细说明使用processon绘制流程图 详细说明绘制流程图
这里写目录标题 为什么要学会画流程图 11种画流程图的工具 processon wps draw.io Zen Flowchart xGraph lucidchart boardmix plantum ...
- 程序员为何秃顶之数据结构-线性表-初识线性表
如果你想成为一个合格的程序员,那么除了对于编程语言的熟练掌握之外.那就是对于数据结构,这门令无数程序员头秃的学科的掌握.放眼望去,只有掌握了这门内功,你才能够逐渐走向癫疯!!!否则,如无根之木,终其一 ...
- 我这个程序员没有秃头,但是将要白头了!
早上起床的时候照了一下镜子,吓了一跳,白头发突然窜出来这么多! 我这个程序员没有秃头,但是将要白头了! 直勾勾地看着镜中头上的白发,我意识到了一件残酷的事实:真的老了! 步入中年,体力和精力还说得过去 ...
- python编程语言创始人-程序员都秃顶?Python创始人笑了,养生还得学这门语言
程序员爱脱发,是不争的事实,经常面对电脑,工作压力大,都会导致脱发的产生.正所谓"聪明绝顶",越厉害的程序员,谢顶的可能性就越大.那么,我们看看世界上顶级的程序员们,看看是否能从中 ...
- 程序员都秃顶?Python创始人笑了,养生还得学这门语言
2019独角兽企业重金招聘Python工程师标准>>> 程序员爱脱发,是不争的事实,经常面对电脑,工作压力大,都会导致脱发的产生.正所谓"聪明绝顶",越厉害的程序 ...
最新文章
- 在IntelliJ IDEA中使用git
- systemd管理mysql多实例_使用 systemd 配置多个 MySQL 8.0 实例
- SpringBoot创建项目入门案例
- [urllib]urlretrieve在python3
- Get Requests with Json Data Get Requests with Url Parameters
- win32获取当前运行程序的内存地址_一个lock锁,就可以分出程序员对问题处置方式水平的高中低...
- vb6 判断打印机是否有效_针式打印机,常见小问题,这里看一看,或许能帮你...
- libvirt(virsh命令总结)
- 计算机存储器的分类图片,存储器分类及各自特点有哪些
- Photoshop:PS如何实现放大图片不模糊
- Speedoffice(ppt)中如何插入表格
- 谷歌浏览器打开页面出现(任何网页包括设置)崩溃解决方法。
- 计算机没有休眠,没有休眠选项,电脑没有休眠选项
- struts2+quartz定时任务
- 服务器响应码418,HTTP状态码是什么?与SEO相关的有哪些?
- iOS 仿YY直播心形动画 烟花动画
- SQL(进阶实战05)
- 大学328门专业课程标准英文翻译模板
- 狄利克雷过程(dirichlet process )和分布
- Android-UI 超级优良超级多超级强大开源控件源码demo
热门文章
- 计算机在娱乐中的应用有哪些,多媒体技术在娱乐方面的应用
- 计算机辅助设计设计师理论知识试卷,计算机辅助设计试卷 A卷
- 1亿以内素数的个数_算法|找出给定范围的所有素数
- linux date修改系统时间
- java aes pbe_JAVA对称加密算法PBE定义与用法实例分析
- 6-6-2:STL之map和set——map的基本使用
- 编译并使用boost库(win7+boost1.60+vs2013)
- PeekMessage
- KVM虚拟机获取所有IP(shell)
- CentOS7执行yum命令出错