高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

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

  • 2019-04-23
  • 本文字数:1725 字

    阅读完需:约 6 分钟

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

自 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


2019-04-23 12:0138581
用户头像

发布了 497 篇内容, 共 274.5 次阅读, 收获喜欢 1817 次。

关注

评论 11 条评论

发布
用户头像
String 哈哈哈
2019-04-26 02:06
回复
用户头像
明明是被提问最多,什么被质疑最多😓
2019-04-25 23:16
回复
用户头像
哪哪都有string
2019-04-25 13:44
回复
用户头像
质疑不多,改为“问询”好点
2019-04-25 10:18
回复
用户头像
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)
这个意译的又让人更无力吐槽了。
展开
2019-04-24 15:33
回复
欢迎来InfoQ当社区编辑啊~~:)
2019-04-26 10:00
回复
用户头像
我觉得你们infoq写标题能不能不要这么标题党。
“最受质疑”=“被提问次数最多”?这种措辞有点不妥吧。
2019-04-23 14:52
回复
特地注册了帐号来评论,我真的去看英文原文了,人家是说“提问最多的”。我真的质疑infoq小编的翻译能力了。
2019-04-23 17:36
回复
感谢指正。文章标题受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
2019-04-23 18:27
回复
同特意注册来评论,赞成标题党的说法。questioned 可以翻译成被质疑的,也可以翻译成被询问的(被提问)。
python语言只是受欢迎所以使用的人比较(最)多,所以被提问最多,但是翻译成最被质疑就成了python是最烂的语言。两种翻译意思刚好相反。
2019-04-24 08:45
回复
查看更多回复
没有更多了
发现更多内容

数据预处理和特征工程-数据预处理-编码与哑变量 & 二值化与分段

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

Java中的ArrayList类基础使用

共饮一杯无

Java ArrayList 11月月更

基于CSS mask和clip-path实现切角的技巧

南城FE

CSS css3 前端

Java 函数式编程

Ayue、

函数式编程

vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set

肥晨

11月月更 vue响应式 响应式开发

跟着卷卷龙一起学Camera--低延迟03

卷卷龙

ISP camera 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之tabBar

愚公搬代码

11月月更

算法题学习---判断链表中是否有环

桑榆

算法题 11月月更

简单概述理解vue的MVVM模型

张三丰无极

vue cli 11月日更 11月月更 #11月月更

深入理解Metrics(五):Timers

冰心的小屋

Java metrics Timers

深入理解JS作用域链与执行上下文

loveX001

JavaScript

世界杯叠加购物节日,预计用户消费和品牌营销将迎来大幅增长

易观分析

泛内容

跟着卷卷龙一起学Camera--低延迟04

卷卷龙

ISP camera 11月月更

网课爆破是网络暴力的缩影,如何有效打击网曝行为

石头IT视角

Web 实时通信技术WebRTC

devpoint

WebRTC 11月月更

kubespray2.11安装kubernetes1.15

程序员欣宸

Kubernetes 11月月更 安装k8s

谈谈企业级前端应用 UI 界面增强实现的一些实际案例

Jerry Wang

angular web开发 SAP Hybris 11月月更

【LeetCode】交替合并字符串Java题解

Albert

算法 LeetCode 11月月更

基于HTML5的爱心表白动画特效

向阳逐梦

HTML5, CSS3 11月月更 爱心代码

vue数据代理

我搬去水星了

vue cli 11月日更 11月月更

推特引入支付:马斯克的野心,Web3 的机遇

One Block Community

#区块链# 推特 web3 波卡生态

如何使用netlify部署vue应用程序

肥晨

11月月更 网站托管 netlift

2022-11-10:写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设: words.txt只包括小写字母和 ‘ ‘ 。 每个单词只由小写

福大大架构师每日一题

bash Shell 福大大

开发者新手指南:一文汇总 Web3 开发工具

TinTinLand

区块链 开发者工具 代码 开发者, web3

Dive into TensorFlow系列(1)-静态图运行原理

京东科技开发者

人工智能 机器学习 tensorflow 动态图 静态图

【iOS逆向】小陈手牵手带你看懂iOS伪代码

小陈

移动安全 iOS逆向 ios安全

C++语言基础篇

叶秋学长

c++ 程序员 面经 11月月更

大数据技术&面试 资料分享

大数据Akin

大数据 面试 数据仓库 资料整理 资料分享

服务网格:管理对外部服务的访问

Flomesh

微服务 Service Mesh 服务网格 程序员、

自动化工具如何助力企业落地DevOps?

SoFlu软件机器人

谈谈企业级前端应用中通过 CSS 达到布局定制化的话题

Jerry Wang

angular web开发 SAP Fiori 11月月更

取代JavaScript,Python成为了被提问最多的编程语言_编程语言_QAOps Blog_InfoQ精选文章