本文从四个方面确定了如果你重视软件的成熟度,那么 VS Code 是一个合适的用来投资学习的工具。
我挑选工具时,最看重的一点是工具的年龄。学习软件是一种投资,除非迫不得已,我不要会换工具,因为这会让我损失一部分在学习上的投资。
在众多软件类别中,通过软件年龄选择要学习的软件是比较靠谱的方法,最流行的工具通常也是一个被使用时间最久的工具。微软的 Excel 和 Adobe Illustrator 两款软件都是在1987创建的,而直到今天它们还是同类软件中最受欢迎的软件。
但这也不能一概而论。文本编辑器作为一种软件类别,却不能根据软件年龄来挑选最靠谱的那一款。根据 StackOverflow 开发者年度大调查显示,2015-2017之间 Mac 上最流行的编辑器是 Sublime 。Sublime 是2008年被创建的,比起 Excel 和 Adobe 非常年轻。相较而言,文本编辑器一直是一种更新迭代速度很快的软件类别:在过去二十年,TextMate、Sublime Text 和 Atom 是发展势头较猛的文本编辑软件。对于大型的复杂的桌面软件来说,还有其他类别的软件有过这么大的变化吗?
我相信,随着 Visual Studio Code 的出现,新的文本编辑器迅速崛起的时代已经结束。VS code 的流行度与完善都到达了一个前所未有的高度,未来十年可能都将占据着文本编辑器市场的统治地位。如果你也像我一样,将软件的年龄作为你选择工具的优先考虑选项,那么学习 VS code 会是一个不错的投资。
我们将在这篇文章中围绕以下几个点讨论 VS Code 长寿的原因:
流行度:VS code 跨过了近年来其他文本编辑器没有迈过的门槛。
平台型文本编辑器:VS Code 结束了文本编辑器不断围绕扩展应用更新的时代。
范式优越:VS Code 从桌面App转向web应用实现了范式优化,甚至为了今后文本编辑器的样本标杆。
公司管理:VS Code 被一个强有力的科技公司进行组织与管理。
流行度
VS Code 是当下最流行的文本编辑软件,它非常流行,以至于它可能是最流行的GUI编程工具。从2015年起,Stack Overflow 在他们的调查中加入了有关文本编辑软件的问题。那时 Notepad++ 是最流行的文本编辑器,有34.7%的受访者说他们非常喜欢 Notepad++,在接下来的一年里,不同的文本编辑器的流行程度都有一些变化,但是没有一个得到超过40%的支持率。直到2019年的开发者大调查,VS Code 的支持率达到了50.7%,这是第二次 VS Code 持续增长率超过45%,2018年 VS Code 的支持率是34.9%, VS Code 在2018年时便已经很流行了。
2015-2019年流行的文本编辑器
(注意,Stackoverflow在2015年到2016年之间开始允许提供多个答案,所以我对这两年之间的变化持保留态度。)
在过去的几十年间,文本编辑器的发展已经逐渐完善,VS Code 是最终集大成最具代表性的文本编辑器。文本编辑器的发展历程是一个通过扩展能力的提升而发展成平台的过程。以下是文本编辑器的发展历史。
BBedit、Emacs 和 Vim 都是优秀的文本编辑软件,但是他们都有一些不能成为最受欢迎的文本编辑器的特点。Emacs 和 Vim 的前身 Vi ,都是在1976年第一次发布,那时许多用户界面都还没有定型,还没有 Ctrl +Z/X/C/V 进行撤销、剪切、复制和粘贴等快捷键。键盘快捷键是是通过 Macintosh 和 Windows 1.0流行起来的,这两项分别发布在1984年和1985年。Emacs 和 Vim 都不使用这些键,而是使用他们自己的术语。他们都使用 ”yank”( yank 在 Vim 中是复制,在 Emacs 里是黏贴)。BBEdit发布于1992年,在这个时期,第一个图形交互界面工具出现,之后成为了一个新的时代。同期还有 Excel(1987),Adobe Illustrator(1987) 和 Photoshop(1990) 。和这些应用程序一样, BBEdit 今天仍然适用。但是和他们又有一些不同,BBEdit 没有在同类软件中流行开来。其中一部分原因是它一直没有适应强调包驱动的文本编辑器生态系统。
TextMate 发布于2004年,它是有史以来最有影响力的一个文本编辑器。在众多特征中,它最流行的特点是缩写代码段,自动配对字符和通过文件名模糊查找。所有这些特征成为了之后流行的编辑器必备的特性。TextMate 率先应用的范围选择器功能和主题功能也为之后流行的文本编辑器的主题与语法高亮特性打下了基础。对于一个初创的应用程序来说,这些功能已经很多了,但还不是 TextMate 所有的创新。TextMate 仍在重塑文本编辑器,完善之前编辑器的功能,并为十几年之后 VS Code 的普及铺垫基础。TextMate 的重要创新是:它是第一款基于拓展构建的文本编辑器。虽然 TextMate 以拓展构建的概念流行起来,但是从之后看,这些不够,TextMate的扩展功能还存在局限,而后来的文本编辑器由于增加了移除拓展的功能流行度更高。
Sublime Text 发布于2008年,它使迷你地图和多光标功能普及开来。不像 TextMate 和 BBEdit ,它是一个跨平台,可运行在 Linux、MacOS 和Windows 系统的软件,比起其他编辑器,它可以覆盖更多用户。但是 Sublime Text 最大的影响还是它在编辑器拓展应用上做的优化。Sublime Text 的拓展程序通过拓展API运行在一个内嵌的 Python runtime 中。不是像 TextMate 那样使用 MacOS 内置的脚本语言,而且没有一个合适的拓展 API ,主要集中在处理标准输出上。Sublime Text 极大地丰富了拓展可以做的事情,允许更多的复杂的集成例如包含 GUI 组件的 Inters 。但这一点还不够, Sublime Text 的包管器—— PackageControl 不是内置的,虽然 Sublime Text 有 API ,但是它使用 Python 定制调用 GUI 组件,所以这一点为之后的文本编辑器的进步空间。
Atom 是 Github 在2014年发布的,它将拓展功能做到了最优。Atom 的包管器是内置的,可显示带有带有内嵌图像的拓展自述文件(并且 GitHub 本身进行的早期扩展也普及了使用动画GIF来说明功能的惯例),从而产生了类似于应用商店的扩展体验。这里 HTML 和 CSS 也很重要。Atom 用 Electron 构建,编辑器使用 JavaScript 编写且运行在 Node 上,比起 Sublime Text 的 Python API、HTML、CSS 和 JavaScript 是更广为人知的语言,这一点降低了创造这个拓展应用的门槛。
Atom 基本上是一个基于拓展的完美的编辑器,这里只有一个问题:速度太慢了,从它发布起,对他表现的抱怨就没有停止过,在这种明显的比较下,市场最终选择了 Sublime Text。
VS Code 发布于2015年,VS Code 是基于微软在2013年发布的可以嵌入到网站上的 Monaco 编辑器。当 GitHub 随 Atom 一起发布 Electron 之后,Microsoft 使用它创办了桌面版面本的 Monaco,叫做 Visual Studio Code。
VS Code 采取了和 Atom 一样的标准,VS Code 通过将拓展加入工具条,使得拓展成为和文件浏览,搜索,源码控制,调试相同的级别。VS Code 拓展可以丰富用户界面,可以用 HTML、CSS 和 JavaScript 编写,并且可以完全访问 node ,本质上他们可以做任何其他应用可以做的事情。当然了,这些拓展程序本身看起来已经像一个应用程序。
基于拓展应用的文字编辑器看样子已经到达它最后的形式了,从 TextMate 以来,拓展应用的知名度和能力不断增强,到 VS Code 时期,这种进步看起来到达了顶峰,它已经没有其他可以发展的空间了,相比之下,这里没有一个新的路径给文本编辑器,让他们像曾经的文本编辑器那样,通过提高扩展功能来去超越其他编辑器一样地去超越 VS Code 了。
范式优越
截至目前,我们已经将 VS Code 的流行性和拓展应用情况视为它寿命的指标,这里还有第三个指标即我们会看 VS Code 如何超越桌面应用的局限性。Code- Server 项目运行 VS Code 时候视他为一个常规的 Web 应用程序,即托管在服务器,但是通过浏览器来浏览,GitHub 的 Codespaces 同样也将 VS Code 视为一个 Web 应用程序,这是通过快速设置一个临时的开发环境。
优化范式,就如同将一个桌面 App 转化为一个 Web 应用程序,这是一个增长使用寿命的另一个重要指标。从一方面来说,这会让其今后更容易被使用到其他范式中,移植到新的范式中会花费很大精力,付出这种努力也是一个伟大的价值指标。Emacs 和 Vim 都被从终端迁移到 GUI 应用程序中。他们的价值太高了所以不能没有一个 GUI 版本。Photoshop 和 Excel 两个都是运行在移动端,随后 Adobe 出现了,Excel 同样也有 Web 版本的,还有一个 Photoshop 的流式版本(尽管它已经在封闭测试版中运行了6年)。
VS Code 不仅超过了最初设置的参数,即成为了一个 Web 应用程序,某种程度它也成为了一种标准。由 Eclipse 基金会维护的 TheiaIDE1.0 版本是 VS Code 的翻版, VS Code 现在不只是文本编辑器,还是一个文本编辑器的标准模板。
公司管理
TextMate 大部分工作是由一个开发者实现的,Allan Odgaard,和 Sublime Text 一样,两个应用最终都陷入了用户对新版本发布缓慢而泄气的困境。
以下是这两个应用主要版本发布的时间线
2004:TextMate1
2008:Sublime Text1
2011:Sublime Text2 Alpha
2012:Text Mate 2 Alpha
2013:Sublime Text 3 Beta
2017:Sublime Text 3
2019:TextMate 2
这里有一个稳定的主要版本发布时间的图表(对比 BBEdit 10-13 的发布日期):
通过这个时间线可以反映出两个问题:
1.TextMate2 发布与 TextMate1 发布的间隔时间太久了。
2.Sublime Text 一直在坚持发布新产品。
Sublime Text 的投诉问题集中在2013年 Beta 版发布和2017 Sublime3 正式版发布之间,在这个期间投诉都是关于 Sublime 缺少足够的改进。和 BBEdit 发布的主要版本相比起来( BBEdit 发布了3个主要版本11,12和13), Sublime 还在beta版本徘徊。尽管 Coda2 发布在2012年,但是它从来都没有更新过,所以也不确定 Sublime 是否和 Coda 一样,不是发布的商业用途。
VS Code 目前的版本是1.49,但是 VS Code 是开源的,所以它和商业版本的规则有一些不同,主要版本的存在至少是公司进行一部分升级收费的机会。
由于 VS Code 是开源的,我们可以直接通过其提交历史来评估其开发速度。VS Code 在 GitHub 上的提交情况表明:这是一段积极的开发历史,它的提交速度超过了 Atom ,甚至比一些大型 Facebook 项目 React 还要活跃(请注意,这些图在Y轴上的比例不同)。
Visual Studio 代码提交图
原子提交图
提交反应图
积极的开发会把平台从主流中拉出来,因为前进的势头和第三方在平台上构建的组合很难与之竞争。这种结合使得新进入者很难与流行的浏览器或操作系统竞争。
结论
这篇文章的目的是用来确定:如果你重视软件的成熟度,那么 VS Code 是否是一个合适的用来投资学习的工具。作为一个类似平台的文本编辑器,自 TextMate 从2004年被发布,每隔几年就有势头强劲的新版文本编辑器发布,从任何标准来看编辑器的流行都是小规模并短暂的,但是比起 Excel、Photoshop 他们又绝对不可小觑。如果你追求软件的快速变化,那么学习 VS Code 文本编辑器是否有价值是一个值得讨论的问题。
VS Code 的出现终结了编辑器只在短时期占领一席之地的局面。如果我们用其他领域流行软件的尺度去衡量 VS Code ,那么它有能力去保持它的流行地位在接下来的很长一段时间中,这个时间有可能是十几年。
有超过50%的开发者使用 VS Code , 这是其他文本编辑器无法企及的门槛。
VS Code 以及将拓展功能的可视化和能力做到了最大化,这让其他新文本编辑器没有更多发挥空间从而无法被超越。
VS Code 已经超越了桌面软件的界限,它也是一个 Web 应用,甚至已经成为了一个文本编辑器的标本,它代表了文本编辑器应有的样子。
VS Code 被公司管理,因此它不会像其他文本编辑器一样陷入经营不景气的困境。
原文:https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code/
本文为 CSDN 翻译,转载请注明来源出处。