博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编辑器领域正发生变革?从面试看Visual Studio Code的崛起
阅读量:6389 次
发布时间:2019-06-23

本文共 2823 字,大约阅读时间需要 9 分钟。

Visual Studio Code(VS Code)的使用率在迅速上升,现在已经成为大多数工程师的首选编辑器,并似乎正迅速抢占其他顶级编辑的市场份额。

Triplebyte每周都会面试数百名工程师。在每次面试中,我们都会记录面试者使用的编辑器、编程语言和操作系统。我们不会根据这些信息来决定面试者是否可以通过面试(我认为这不公平)。不过,这些非常令人着迷!它让我们可以深入了解不同工程师群体喜欢哪些工具,以及这些偏好如何随着时间发生变化。我们还可以借此识别出工程师选择的工具与他们在面试期间的表现之间的相关性。

我的同事Mike在一年前写了一篇。Triplebyte从那时起已经得到了长足的发展,因此我们现在可以更深入地挖掘这些数据,所以我写下了这篇文章。

编辑器使用率

我提取了去年所有面试中使用的编辑器数据:

\"image\"

从这张图中可以看到,Visual Studio Code有多么的突出。VS Code占了17%的比例,它是去年多个Triplebyte候选人使用的编辑器。这让我感到些许惊讶,主要基于两个方面的原因。首先,VS Code是一款来自微软的相对较新的产品。其次,去年它甚至都没有出现在我们的排行榜上——它的比例小到足以落入“其他”部分。

为了更好地了解这一点,我基于相同的数据绘制了另一张图:

\"image\"

VS Code正在吃掉其他编辑器的份额!很明显,在过去的一年中,VS Code的使用率从5%上升到22%。与此同时,Sublime Text的使用率从17%下降到11%,Atom的使用量从11%下降到6%,甚至连Eclipse也在下降。VS Code每个月都在增加。Google Trends显示了类似的结果:

\"image\"

VS Code正在崛起,并有望成为我们见过的最具主导潜力的编辑器。也许我也应该试一试!

面试通过率

然而,编辑器的使用只是整个故事的一部分。并非所有编辑器的用法都相同。我想看看最好的程序员都在使用哪些编辑器。因此,我提取了与候选人在面试中表现有关的数据,并按他们使用的编辑器进行分组:

\"image\"

这张图显示了每种编辑器用户的通过率与所有候选人平均通过率的对比。首先,请注意脱颖而出的Emacs和Vim!使用这些编辑的工程师的通过率远高于其他工程师。Emacs用户通过率比其他工程师高50%。我们该如何解释这种现象?一个可能的原因是因为Vim和Emacs是老牌编辑器。老牌编辑器的用户可能拥有更多的经验。但也请注意,VS Code是第三好的编辑器——它是一个全新的编辑器,这反而让VS Code看起来更占优势。

Emacs和Vim用户是否还有其他的一些特征让他们在面试中更有可能获得成功?也许他们倾向于花更多的时间和精力在短期内定制一个复杂的编辑器,以便在长期获得更多的回报?

另一方面,使用Eclipse、intelliJ和Visual Studio的工程师的通过率较低。Eclipse、IntelliJ和Visual Studio有什么共同之处?它们都是IDE。但是,PyCharm也是一个功能齐全的IDE,它的通过率也较高。Eclipes、IntelliJ和Visual Studio的另一个显著特点是它们与Java和C#的联系非常紧密,那么我们可能只是看到了特定编辑器和特定编程语言之间的相关性结果吗?

为此,我也按照编程语言查看了面试通过率:

\"image\"

Java和C#确实具有相对较低的通过率,尽管Eclipse的通过率低于Java(-21.4%对-16.7),因此我们无法完全解释是不是Java拖了Eclipse的后腿。

还有,Go语言发生了什么?Go程序员表现都很不错!为了深入研究这些问题,我按照编程语言查看了编辑器的使用情况:

\"image\"

这张图上的百分比对应的是每个编辑器。我们可以看到,97%的工程师使用PyCharm开发Python(很正常,这从它的名字就可以看出来)。使用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。

经验水平和地理位置

最后,我按经验水平和地理位置来切分数据。在下图中可以看到不同经验水平的人使用编程语言的情况:

\"image\"

图中显示的是具有给定经验水平的人使用每种语言的百分比。有趣的是Python和Java最受实习生或具有兼职经验的候选人的欢迎。

下面是不同经验级别的候选人使用编辑器的情况:

\"image\"

首先,随着经验水平的增加,VS Code的使用率在下降。可见VS Code在初级工程师中更受欢迎。我们还可以看到,Vim和Emacs在经验丰富的工程师中更受欢迎。这似乎是合乎逻辑的,这也是Vim和Emacs用户在我们的面试中具有如此高通过率的主要原因。

最后,我们还研究了地理位置和使用的语言之间的关系:

\"image\"

大公司一般位于半岛地区,因此你会看到很多Java开发人员。在旧金山,创业公司占主导地位,你会看到更多的人使用JavaScript。

结论

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

Visual Studio Code正在崛起。在过去的一年里,它已经成为最受欢迎的编辑器,并且每个月都在增长。我在想,编辑器领域是否正在经历一场动荡的变革,从一个相对分散的市场转变为某个编辑器占据50%以上份额的市场?

使用像Vim或Emacs这样的老派编辑器的工程师往往是有经验的程序员。也就是说,这些编辑器在经验丰富的工程师中特别受欢迎。

使用Go语言的工程师也很厉害。

使用Eclipse或Visual Studio的工程师在我们的面试中表现稍差一些(平均)。

最后我想说的是,我们认为它们之间没有必然的因果关系。也就是说,我不建议你基于这些数据开始使用Emacs和Go语言(或者停止使用Eclipse和Java)。有些很厉害的程序员会使用每一种工具。在面试中,最重要的是要使用你最熟悉的工具。

英文原文:

转载地址:http://yldha.baihongyu.com/

你可能感兴趣的文章
ImportError: No module named tornado.ioloop 记录过程
查看>>
[转] SSH 密钥认证机制
查看>>
hihocoder [Offer收割]编程练习赛14 小Hi和小Ho的礼物
查看>>
JQuery EasyUI 动态改变表单项的验证守则
查看>>
Jmeter如何操作数据库
查看>>
iOS开发设置View某个角为圆角
查看>>
【python】python path,macports,easy-install,numpy,scipy,ipython,matplotlib,集成工具...
查看>>
学习进度总结
查看>>
ACCESS模糊查询出现"内存溢出"原因是日文片假名
查看>>
Error setting expression 'XXX' with value 设置表达式“XXX”时出错 解决方法
查看>>
javascript获取url参数和script标签中获取url参数
查看>>
CF359D:Pair of Numbers(数论)
查看>>
进制转换展示
查看>>
张泉灵:做投资这半年哭过的时间比前十年都多
查看>>
c++将bool变量以文字形式打印
查看>>
洛谷P1111 修复公路 并查集 图论 最小生成树
查看>>
微名汇-微信公众平台功能开发(微信聊天机器人)
查看>>
A2W和W2A :很好的多字节和宽字节字符串的转换宏
查看>>
_T和_L的区别
查看>>
我个人的javascript和css命名规范
查看>>