VS Code 正在统治代码编辑器领地!-程序员宅基地

出品:CSDN(ID:CSDNnews)


【CSDN编者按】代码编辑器之于程序员的重要性不言而喻。长久以来,Vim、Emacs等老牌编辑器一直占据着举足轻重的地位,但是近年来情况似乎发生了变化。根据软件工程师招聘网站Triplebyte的统计数据显示,Visual Studio Code正在兴起,并在过去的一年里成为最受欢迎的编辑器。此外,他们还研究了工程师选择的工具与编程能力之间的一些关联性——使用Vim或Emacs这样老牌编辑器的工程师往往是强大的程序员,使用Go的工程师也特别强大,使用Eclipse或Visual Studio的工程师则似乎表现不佳!下面就让我们来一探究竟。


640?wx_fmt=jpeg


以下为译文:


Microsoft Visual Studio编辑器的使用率正在快速上升!我们在访谈期间发现VS Code是现在大多数工程师选择的代码编辑器,它似乎正迅速抢占其他顶级编辑器的市场份额。


每周三Triplebyte会采访数百名工程师。每次访谈,我们都会记录被采访者使用的编辑器、语言和操作系统。当然,我们不会使用这些信息来决定谁通过我们的面试,我认为这不公平。但是,这份数据是非常令人着迷的!它让我们深入了解不同工程师群体喜欢哪些工具以及这些偏好是如何随时间变化的。并且能够允许我们发现工程师选择的工具与他们在面试访谈期间的表现之间的相关性。


一年前,我的同事迈克写了一篇关于这些数据的帖子(https://triplebyte.com/blog/technical-interview-performance-by-editor-os-language)。但是,Triplebyte那时还没有足够的数据来论证其中存在的某种关系,而现在我们有足够的数据可以更深入地挖掘。

这是我的这篇文章的目标。


各类编辑器的使用率


我提取了去年所有访谈中使用的编辑数据作为开始:

640?wx_fmt=png


从该图中我们可以发现Visual Studio Code拥有惊人的17%使用率,去年多个Triplebyte的候选人都在使用VS Code编辑器。有两个让我感到惊讶的原因:首先,VS Code是一款来自微软的相对较新的产品;其次,去年它甚至没有出现在排行榜上,它的份额小到足以划到“其他”中。


为了更好地了解这一点,我用相同的数据绘制了随着时间的推移产生的变化:


640?wx_fmt=png


结果发现,VS Code正在抢占其他人的份额!图中很清楚显示:在过去的一年中,VS Code的使用率从5%上升到22%;与此同时,Sublime Text的使用率从17%下降到11%,Atom的使用率从11%下降到6%,甚至Eclipse也在下降;对应的VS Code的使用率却在加速。谷歌趋势也证实了这个现象:


640?wx_fmt=png


数据表明VS Code正在崛起,并有望成为我们见过的最具统治力的编辑器。


面试通过率


然而,编辑器使用率只是这个故事的一部分。除了使用率外,我最想看看最好的程序员在使用哪些编辑器?为了看到这一点,我提取了Triplebyte候选人在我们采访中的表现数据,并按他们现在使用的编辑器分组:


640?wx_fmt=png


上面的图表显示了使用各种编辑器通过面试的通过率与所有候选人的平均通过率的概率差值。首先,请注意Emacs和Vim的卓越性!因为使用这些编辑器的工程师以超高的通过率通过了我们的面试。其中,使用Emacs编辑器的工程师通过我们面试的速度比其他工程师高50%。有什么可以解释这种现象?一个可能的解释是Vim和Emacs很老,它需要工程师有更高的能力才能使用它。但是,请注意VS Code是第三好的编辑器,而且它是全新的。


使用Emacs和Vim的工程师是否有其他一些特征使他们在访谈中更有可能成功?也许他们倾向于更愿意花时间和精力在短期内学习使用一个复杂的编辑器,以便从长期来看更好的回报?


另一方面,使用Eclipse、intelliJ和Visual Studio的工程师以较低的概率通过我们的访谈。Eclipse、IntelliJ和Visual Studio有什么共同之处?它们都是IDE!但是,PyCharm也是一个功能齐全的IDE,它却拥有很高的通过率。还有什么值得分析?我们发现Eclipes、IntelliJ和Visual Studio的另一个显着特点是它们与Java和C#的紧密联系,不过这我们可能只是看到特定编辑器和特定语言之间的相关性结果。


为了得到更有说服力的数据结果,我也按语言查看了面试通过率:


640?wx_fmt=png


Java和C#确实具有相对较低的通过率,尽管我也注意到Eclipse的通过率低于Java(-21.4%对比-16.7%)。


还有一个现象,Go语言发生了什么?Go的程序员真的很受欢迎!为了深入研究这些问题,我又按语言查看了编辑器的使用情况:


640?wx_fmt=png


上面图表的百分比是每个语言分别在每种编辑器上使用率。例如,97%的工程师在Python语言中使用PyCharm程序。Eclipse主要是Java(94%)工程师在用,Visual Studio主要是C#和C ++(88%)的工程师在用。我不能真正说出其中的因果关系,但似乎语言(Java,C#)和IDE(Eclipse,Visual Studio)都与面试中较低的通过率有关联。虽然这些数据来自我们的内部访谈,但同样的结果也适用于使用我们平台的外部公司进行的访谈。


在进行面试决策时,Triplebyte不会考虑语言或编辑器选择。毕竟有很多优秀的程序员也在使用C#和Java(我们帮助他们中的许多人在我们的平台上找到心仪的工作)。但是,通过我们的数据分析发现,普通C#或Java工程师似乎不如普通的Ruby或Go工程师好。我不知道为什么!


上述图表中的另一个发现是VS Code和Sublime之间的区别。VS Code主要用于JavaScript开发(61%),但不太常用于Python开发(22%),而对于Sublime,这个数字基本上是相反的(51%Python和30%JavaScript)。有趣的是,VS Code用户以高于Sublime工程师的速度通过面试,尽管他们都使用成功率较低的语言(JavaSript)。


工作经验/地点


为了总结,我按工作经验和工作位置继续分析数据。从下图你可以按经验级别查看语言使用情况:


640?wx_fmt=png


同样,行总和为100%,因此图表显示具有给定经验水平的人使用每种语言的百分比。最引人注目的是只有实习或兼职经验的Python和Java工程师在候选人中的受欢迎程度。我们可以从中看到最近刚从大学毕业的人使用他们所教的语言。


然后是按经验级别使用编辑器的情况:


640?wx_fmt=png


首先,随着经验水平的提高,你可以看到VS Code使用率是下降趋势。所以我们可以肯定的是它在初级工程师中更受欢迎。你还可以看到经验丰富的工程师更喜欢使用Vim和Emacs。这似乎是合理的,这确实是Vim和Emacs用户在我们的访谈中具有如此高通过率的主要原因。


最后,我们分析了工作地点和使用的语言之间的关系:


640?wx_fmt=png


我很喜欢上面这张图表。在大型公司密集的地方,你会看到很多Java开发人员。而在旧金山,创业公司占主导地位,你会看到更多的JavaScript开发人员。


结论


以下是我们在过去一年中看到的工具使用趋势的总结,以及工程师选择的工具与编程能力之间的一些有趣的关系:


Visual Studio Code正在兴起。在过去的一年里,它已经成为最受欢迎的编辑,并且每个月用户量都在增加。难道编辑领域是否正在经历一场转变,从相对分散的市场转变为单一编辑占据50%以上市场的世界?


使用像Vim或Emacs这样老牌编辑器的工程师往往是强大的程序员。而且,使用这些编辑器的工程师大多是经验丰富并且非常受欢迎的工程师。


使用Go的工程师也特别强大。如果你知道原因,请告诉我!(译者注:区块链技术正在蓬勃发展,正如我们所知,底层的区块链技术大多是用Go语言实现的,或许这就是使用Go语言的工程师大受欢迎的原因。)


使用Eclipse或Visual Studio的工程师在我们的访谈中表现不佳(平均情况)。这种相关性也代表陆使用我们平台的外部公司的面试。


最后我要说的是,我们认为这些都不是因果关系。我不建议你根据此数据开始使用Emacs和Go(或停止使用Eclipse和Java)。强大的程序员不应该被编辑器限制,所以在面试中最重要的是使用你最熟悉的工具。


原文:https://triplebyte.com/blog/editor-report-the-rise-of-visual-studio-code

作者:LYN LEVENICK AND AMMON BARTRAM

译者:袁虎,责编:郭芮


本文仅代表作者独立观点,转载请联系原作者。



公开课预告

文字识别

主题基于模板的文字识别结果结构化处理技术

时间12月20日晚8点

入群福利:添加小助手微信cadnai2,回复:OCR,加入课程交流群。课程QA,PPT共享。


640?wx_fmt=jpeg


推荐阅读


点击“阅读原文”,打开APP 阅读更顺畅。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/85043100

智能推荐

js设置页面平铺禁滚动-程序员宅基地

js设置页面平铺禁滚动document.body.addEventListener('touchmove', function (e) { e.preventDefault(); }, { passive: false });

C#实现大数据量TXT文本数据快速高效去重-程序员宅基地

原文 C#实现大数据量TXT文本数据快速高效去重对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除。尝试了各种方法,下属方法是目前尝试到最快的方法。以下代码将重复和不重复数据进行分文件存放,提升效率的关键是用到了HashSet。 TextReader reader = File.OpenText(m_dataFilePath); ...

mysql 自动备份到nas_mysql备份之备份方法详解-程序员宅基地

无论是互联网应用还是其他应用程序,数据库都是必不可少的角色,数据库用来保存上层应用的数据,当然也可以对数据进行处理。数据是应用的核心,因此数据的备份就显得格外重要。本文仅供参考,如有遗误,望请指正海涵!本文主要介绍1. 物理备份 & 逻辑备份2. 线上备份 & 线下备份3. 本地备份 & 远程备份4. 快照备份5. 完全备份 & 增量备份6. 完全恢复 & ..._mysql备份到群晖

如何用地推二维码统计每一个地推人员带来的App安装量数据_小程序地推员的记录查询-程序员宅基地

使用Xinstall可以为每一地推人员生成带参数二维码,为地推业务员生成专属的渠道二维码,可对专属二维码统计App访问次数、点击量,安装量、注册量、用户活跃、活跃设备数以及用户留存等记录查看点此立即使用「Xinstall」XinstallXInstall可以统计如下数据:访问量:表示在一个时间段内(某天或某天中的某一小时),通过你配置的链接打开下载页面的次数,去重后1台设备打开多次只计算1个访问量。点击量:表示在一个时间段内(某天或某天中的某一小时),通过你配置的下载页面中,下载按钮被点击的次数._小程序地推员的记录查询

常用Flame几种手机实例-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ...

Java获取相同字符串算法题,经典leetcode算法题分享(字符串)_McGL的博客-程序员宅基地

文章已收录Github精选,欢迎Star:https://github.com/yehongzhi前言很多人做leetcode题目找不到方向,或者说很难持之以恒,我这里推荐一种方法,从简单难度开始刷,刷完这个标签的简单难度,再换一个标签,这样循序渐进,把做题的量慢慢提高,还有难度逐渐加大。对于初学者,最重要是趁热打铁,而不是东打一枪西放一炮,趁热打铁才能形成做题的思路。还有一个问题是,一开始做题往..._leetcode按照指定模式抽取相同字符

随便推点

【天线专题】天线(Antenna)的理解_阳光宅男@李光熠的博客-程序员宅基地

天线(Antenna),位于无线射频模块的末端,是很多产品发送和接收电磁信号的重要组件。天线的类型多样,可以根据不同时的标准进行划分。

【算法学习】图相关算法编程实现-深度优先遍历和广度优先遍历-程序员宅基地

一、图的表示图G=(V,E)。要表示一个图,通常有两种方法:邻接表和邻接矩阵。两种方法都既可以表示有向图,也可以表示无向图。邻接表表示由一个包含|V|个列表的数组组成,其中每个列表对应V中的一个顶点。每个邻接表中的顶点一般以任意顺序存储。实例:图一 无向图的邻接矩阵表示图二 无向图的邻接表表示图三 有向图的邻接矩阵图四 有向图的邻接表表示

C语言 · 日期计算-程序员宅基地

算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。输入格式  输入只有一行  YYYY MM DD输出格式  输出只有一行  W数据规模和约定  1599 <= YYYY <= 2999  1 ..._c语言日期计算

shell脚本介绍-脚本结构和执行-date命令用法-脚本中的变量-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ..._执行shell脚本参数-date

codefoces #771 A:Reverse-程序员宅基地

A. Reversetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a permutationp1,p2,…,pnp1,p2,…,pnof lengthnn. You have to choose two integersl,rl,r(1≤l≤r≤n1≤l≤r≤n) and reve...

关于Mysql1251解决办法_1251mysql-程序员宅基地

问题: 相信有些小伙伴在用Navicat连接Mysql时,都遇到了这样的情况,这其实是8.0以后的加密规则问问解决办法: 1、我们打开以管理员身份打开cmd管理器 2、输入cdC:\Program Files\mysql-8.0.18-winx64\bin(数据库的bin目录路径) 3、登录数据库mysql -u roo..._1251mysql