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

457c55048f56662de42094cc9678faef.gif038207fde35e4a707d4a21806fcaa092.png

作者 | Nick Roberts

编译 | AI科技大本营(ID:rgznai100)

自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员。自那时以来,开发人员提出了数百万个关于开发领域的问题。但是,迫使开发者转向 Stack Overflow 的问题都是什么呢?我们选择了 11 种最流行的编程语言(以 Stack Overflow 标签的频率来衡量),并进行了一项研究,旨在揭示这些问题中的某些共性和差异。但在这之前,让我们先瞧瞧如下所示的 11 种语言。afa670bac3c1d9efc1330c58fe46c914.png就所提问题的数量而言,JavaScript 是自 Stack Overflow 成立以来最常被问到的编程语言。这可能是由于其在众多不同应用和服务中无处不在:无论你以任何方式在网络上工作,都可能需要了解一些 JavaScript。但是,尽管 JavaScript 可能是整体排名最高的编程语言,但当我们按时间划分数据时,我们发现需要一个新的王冠。 16f2b4d78b6cc7271e71d74583cc4b3e.png2011年,《哈佛商业评论》将数据科学家标记为“ 21世纪最性感的工作(Sexiest Job of the 21st Century)”。从那以后,数据科学家常用的 Python 语言的受欢迎程度一直在增长……以至于到 2019 年,Python 超越 JavaScript 成为了 StackOverflows 讨论最多的编程语言。(也许Python正在迅速成为最受欢迎的编程语言,或者与其他语言相比,Python 新编码者的所占比例更大!)但是这些开发人员到底在问什么呢?讨论最多的框架、软件包、功能和方法是什么?造成痛苦最大的是哪些数据类型?这些问题在不同语言之间有何不同?为此,我们做了以下动作:
  • 针对上面列出的11种编程语言中,我们分别抽取了 1000 个最受好评的 Stack Overflow 问题。
  • 在 Python 中做了一些数据清理(自然是 pandas)。
  • 我们将所有 11000 个问题(超过 96000 个单词)输入到 JavaScript 的词云算法中,从而使我们可以全方位看到不同语言中普遍出现的痛点。
以下就是结果。a3f57546fb35b2fba2f5aa483664634e.png

JavaScriptdcb720bf9d5a1db0319604d3b19ab0e6.png

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

Python

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

Ruby

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

C#

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

C ++

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

Java

       c5a7479fa599d6af3a657e98df4c52f5.png

Java(1995)作为一种通用的“一次写入,随处运行”的语言而创建。在 90 年代后期和互联网初期的 PC 繁荣时期,它变得很流行,并且是许多 Windows 应用背后的推动力。但最近,它成了“ Android ”(中右)应用开发中的主要语言。752ff98ec7f7517cee4cf59376af737c.png

Objective-C

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

Swift

        621938bc4381c4c837ff29163241194c.png

首次出现于 2014 年的 Swift 在苹果开发领域已取代 Objective-C。尽管在标签为#swift 的 Stack Overflow 的问题中,“objective-c”被提及的频率(中右)可能代表了成千上万的 iOS 开发者希望 Stack Overflow 来更新他们的知识。c86ae84141c762e462d2b37407c756c5.png

PHP

ca2064bb68b6ae4d83af3e37af9fbe1e.pngPHP(1995)是用于Web开发的服务器端脚本语言。今天它仍然用于此目的,你可以从围绕语言“laravel ”框架(中左)的问题频率看到这一证据。40e18873f80f96742d0444afcb3971b7.png

SQL

1a8ee06dacbba1777b8625a67eaa341e.png与本研究中的其他一些语言相比,SQL 不是一种功能齐全的编程语言。它专为数据处理这一项工作而设计。由于这种特殊性,SQL 最常见的痛点都围绕数据库访问:“ sever ”,“ mysql ”,“ database ”,“ query ”,“ select ”。随着时间的推移,每种编程语言都已针对技术中的特定细分市场而设计。R代表数据科学,Swift 代表 iOS 开发,C++ 代表视频游戏开发,这解释了所出现问题类型的某些差异。这就解释了为什么我们看到在 SQL 中“ database ”是一个普遍被讨论的概念,但在 Objective-C 等语言中却不是这样。尽管存在这些明显的差异,但这些可视化表示不同领域内的一些基本相似之处。例如字符串和数组(显然不是整数、浮点数或布尔值)的基本数据类型是常见的痛点,这导致所有有信条的开发人员转向 Stack Overflow。本着团结精神,这是我们提取的所有 11000 个问题的词云:b1207d142df50b0378f0c79e502bf12b.pngGoogle 可以帮助解决一些问题......但其他事情,我们还要找 Stack Overflow。你对上述结果是不是有同感?欢迎留言曾经你遇到过的“令人头秃”的问题。原文链接:https://www.globalapptesting.com/blog/picking-apart-stackoverflow-what-bugs-developers-the-most【END】

31d9f2471728ab70291d1c3e5e72b67d.png

 热 文 推 荐 

☞三年一跳槽、拒绝“唯学历”,火速 Get 这份程序员求生指南!

☞丰巢回应小学生用照片“刷脸”取件;苹果明年或发布四款 5G 手机;Spring Boot 2.2.0 发布 | 极客头条☞如何在 Python 数据中清洗常用 4 板斧?☞在办公室装警报、参加杨超越编程大赛——“开发者之友”声网Agora团队是怎样炼成的?

☞巨头垂涎却不能染指,loT 数据库风口已至

☞【建议收藏】数据中心服务器基础知识大全

☞大规模1.4亿中文知识图谱数据,我把它开源了

☞“国家队”入局! 中移动、银联等宣布区块链服务网络(BSN)正式内测!

6a6da2fb2af87fd90efc296dce655e2e.png你点的每个“在看”,我都认真当成了喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 中的接口回调

Android 中的接口回调转载于:https://www.cnblogs.com/zhujiabin/p/5223806.html

java 获取接口的注解_java反射注解妙用-获取所有接口说明

前言最近在做项目权限,使用shiro实现restful接口权限管理,对整个项目都进行了重构。而权限管理需要用到所有的接口配置,包括接口url地址,接口唯一编码等。想要收集所有的接口信息,如果工程接口很多,工作量可想而知。这…

C#窗体的Load事件与Shown事件的区别

Load&#xff1a;在第一次显示窗体前发生。 <pre name"code" class"csharp"> private void Form1_Load(object sender, EventArgs e){} Shown&#xff1a;只有在首次显示窗体时才会引发 Shown 事件&#xff1b;随后执行的最小化、最大化、还原、隐藏…

在CentOS7.0上制作openstack-juno本地yum源 .doc

在CentOS7.0上制作openstack-juno本地yum源参考文献&#xff1a; 2014/09/27 | http://www.kekeyun.net/?p222可可云计算网以http://www.kekeyun.net/?p222文为参考&#xff0c;在CentOS7.0上制作本地源&#xff0c;过程如下&#xff1a;一、创建CentOS7虚拟主机安装过程有…

【C语言简单说】二:第一个C语言程序详解(1)

如有错误请给与纠正… 上一个教程只说明了第一个C语言程序源码中的&#xff1a; printf("Hello Wrold!"); 这行代码的含义&#xff0c;现在我们来说说全部代码&#xff1b;当然为了各位的方便&#xff0c;我就把那个代码给复制过来了&#xff0c;如下: #include&…

C++之智能指针和普通指针单例模式两种实现

1 问题 实现c++的单例模式,这里测试分别写了通过智能指针返回对象和普通返回指针 2 代码测试 include <iostream> #include <mutex> #include <memory>using namespace std;class Single { public:static Single& getInstance(){std::mutex mt;if (…

mybatis 返回 插入的主键

2019独角兽企业重金招聘Python工程师标准>>> 一般返回的是 数据库的 自增的 主键&#xff0c;&#xff0c;&#xff0c; 百度了一通&#xff0c;&#xff0c;我 刚开始 以后 可以 通过 插入的方法的&#xff0c;&#xff0c; 返回值 可以获取到 自增的主键&#xff…

Source Generator实战

前言最近刷B站的时候浏览到了老杨的关于Source Generator的简介视频。其实当初.Net 6刚发布时候看到过微软介绍这个东西&#xff0c;但并没有在意。因为粗看觉得这东西限制蛮多的&#xff0c;毕竟C#是强类型语言&#xff0c;有些动态的东西不好操作&#xff0c;而且又有Fody、N…

python图片解析库_python用来获得图片exif信息的库实例分析

本文实例讲述了python用来获得图片exif信息的库用法。分享给大家供大家参考。具体分析如下&#xff1a; exif-py是一个纯python实现的获取图片元数据的python库&#xff0c;官方下载地址&#xff1a; http://exif-py.svn.sourceforge.net/viewvc/exif-py/source/EXIF.py?revis…

Linux Swap分区设定

因为准备在linux上面安装Oracle数据库&#xff0c;据说swap分区小于4G容易失败&#xff0c;天啦噜的我连swap分区是啥都不是非常清楚&#xff0c; 大概有个印象吧&#xff0c;但先搞大了再说。 测试证明Ubuntu14默认的swap分区是和初期设定的内存大小一样一样的。 最初因为手速…

java servlet https_javaweb项目对https的配置01

1.准备证书生成a.进入到jdk下的bin目录(如果配置了Java的环境&#xff0c;可以直接在cmd命令窗口中直接输入如下命令)keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore -validity 36500附&#xff1a;d:/tomcat.keystore是将生成的tomcat.keystore放…

OC开发_Storyboard——MapKit

一、Core Location 1、基本对象 propertys: coordinate, altitude, horizontal/verticalAccuracy, timestamp, speed, course property (readonly) CLLocationCoordinate2D coordinate; typedef { CLLocationDegrees latitude; // double型 纬度 CLLocationDegrees longitu…

【C语言简单说】二:第一个C语言程序详解(2)

如有错误请给与纠正… (_)? 不知道你在什麼 其实这一节可以跳过&#xff0c;不信你往下看… 上一个教程只说明了第一个C语言程序源码中的头文件&#xff1a; #include<stdio.h> #include<stdlib.h> 照例&#xff0c;我又把这一节说的源代码的内容给复制过来&a…

Effective C++学习笔记之copy构造函数和default函数和copy赋值函数(operator=)

1 、C一个空的类里面一般默认的函数 比如我们写 class A {}; 一般里面系统会给你哪些默认函数呢&#xff1f; class A { public:A(){} //default函数~A(){} //析构函数A(const A& a) {} //copy构造函数A& operator (const A& a) {} //copy assignment操…

python学习笔记 --- 随机数进阶

你真的懂随机数&#xff1f; Author : Jasper YangSchool : Bupt Q:为什么要写这篇文章&#xff1f;A:因为我发现在最近的科学计算中&#xff0c;常常遇到随机数&#xff0c;所有的随机数都是基于0,1随机&#xff0c;而这个0,1随机怎么实现呢&#xff1f;下面我会娓娓道来~ 这篇…

一套关于 内存对齐 的C#面试题,做错的人很多!

这是一套朋友公司的面试题&#xff0c;挺有意思分享一下。题目&#xff1a;判断下面的 Location1 和 Location2 的结构体大小各是多少&#xff1f;public struct Location1{public int X;public int Y;public long Z;}public struct Location2{public int X;public long Y;publ…

pythonweb服务器怎么让别人访问_Django配置让其他电脑访问网站

其实在Django 带有一个内建的轻量级 Web 服务器&#xff0c;可供站点开发过程中使用。我们提供这个服务器是为了让你快速开发站点&#xff0c;也就是说在准备发布产品之前&#xff0c;无需进行产品级 Web 服务器&#xff08;比如 Apache&#xff09;的配置工作。 但是实际开发中…

python3-day4(装饰器)

一.基本 第一波 #### def foo():print foofoo #表示是函数 foo() #表示执行foo函数#### 第二波 #### def foo():print foofoo lambda x: x 1foo() # 执行下面的lambda表达式&#xff0c;而不再是原来的foo函数&#xff0c;因为函数 foo 被重新定义了二.example #一个…

【C语言简单说】二:第一个C语言程序详解(3)

如有错误请给与纠正… 注&#xff1a;注意我们每一行代码后面的分号表示我们一句代码的结束&#xff0c;就像我们在写文字的时候的标点符号&#xff0c;一个句号表示一句话的结尾。 上一个教程只说明了第一个C语言程序源码中的main&#xff08;其实等于没说&#xff09;&…