关于文本编辑者选择和认知偏见的思考

如何选择文本编辑器取决于决策,但是有关编辑器优劣的大多数讨论通常会升级为火焰战争。 尽管缺乏可量化的指标可能会导致我们产生分歧,但认知偏见对我们选择文本编辑器的顽固决定做出了很大贡献。

从程序性能的角度来看,可以在不同的响应时间中测量文本编辑器。 在每个操作中都需要微秒级的反馈。 但是,编辑器整体上要慢300毫秒,或者在非关键情况下要慢得多,这并不一定会导致用户流失。 多年来,Emacs因其启动速度慢而一直被Vim用户嘲笑,这并不能阻止用户使用它。 由于批评了启动缓慢和按键之间的明显滞后,编辑器游戏中的新竞争对手Atom已经成为开发人员中受欢迎的文本编辑器。

另一方面,难以量化的生产力受到编辑爱好者的吹捧。 Emacs用户认为他们几乎可以做所有事情,包括通过无尽的插件来煮咖啡。 Vim用户坚持认为,模型编辑提供了最有效的文本操作方式,VimL像Elisp一样扩展了功能。 Atom用户相信,通过引入先进的Web技术,他们可以将文本编辑推向一个全新的水平。 他们的论点听起来令人鼓舞,但没有事实和数字的支持。 与其他编辑器的键盘绑定相比,Vim的模型编辑在编码上节省了多少时间? Emacs插件可在多大程度上加快编码过程? Web技术已经解决或将解决哪些问题,而70年代或90年代的技术无法解决哪些问题,这些问题与软件开发效率的提高有多大关系?

在选择编辑器时,我们没有这些数字,也没有根据这些数字做出决定。 我们通常做什么? 这是一个更常见的场景:在面向开发人员的Web论坛上,有一个名望乔治的专家,他很熟练,并且在许多编程领域都有实践经验。 他在大型机上用COBOL编写程序,在Delphi应用程序中创建了GUI,并使用Rails开发了网站。 他使用并喜欢编辑OmniEdit。 他曾经写过一篇文章。 这篇文章不仅介绍了OmniEdit的精美UI和复杂功能,还展示了使用OmniEdit的技巧以及如何对其进行破解。 除George以外,Sanji和Niji等其他大师也使用OmniEdit。 据推测,一些开发人员正在使用Emacs或Vim。 有一天,对编程一无所知的新人弗雷德(Fred)由于其广泛的声誉而访问了该论坛。 在阅读了许多有关大师的编程的文章之后,他对它们给予了高度评价,并决定在此论坛上学习编程。 乔治的文章《为什么我要使用OmniEdit进行开发》对新手有很大的影响,因此他选择了OmniEdit。

为什么Fred会选择OmniEdit来取代其他编辑器? 因为George熟练且经验丰富,并且他在OmniEdit上的帖子是一个详尽的个人故事,所以他的叙述对新手很有影响。 弗雷德(Fred)相信像乔治这样的专家开发人员使用的编辑器生产力最高,并且在某种程度上可以指示专家。 他等于使用OmniEdit来提高生产力甚至是专业知识。

显然,弗雷德犯了一个错误。 使用OmniEdit的专家并不意味着专家级的生产力。 它们实际上是两个独立的点,但是乔治的故事将它们与因果关系联系起来。 因此,弗雷德选择OmniEdit。 实际上,他只是叙事谬误的受害者。 在继续在该论坛上学习的同时,Fred将进一步加剧对OmniEdit与专家之间关系的误解,这是由于确认偏差所致。 如果弗雷德(Fred)在几年后成为专家,他可能会写一篇关于他一路使用的编辑器的文章或文章。 另一个新手将遇到此职位,因此走上了相同的路线。 这个故事的情节可能有所不同。 例如,乔治可能会改用Vim,而弗雷德会紧随其后,或者如果他停止仰望乔治,他将“背叛”埃马克斯。 尽管存在这些差异,但变化的根本原因在很大程度上保持不变。

当我们做出决定时,我们的认知偏见是不明显的。 我们没有按照我们的想法合理地做。 实际上,我们很难做到理性。 丹尼尔·卡尼曼教授在其深刻而有启发性的书《思考,快和慢》中写道:

在判断中,我们观察到自己的决策中存在系统性偏见,即直觉上的偏好始终违反理性选择的规则。

但是,在文本编辑器方面我们彼此处于对立状态,这可能揭示出一个事实,即每个编辑器都具有吸引人的优点和可容忍的缺点,因此没有一个足以将自己与其他人区分开的编辑器。 在2005年,大多数手机制造商试图通过生产不同形状的手机来满足客户的需求来获利,而iPhone出人意料地在次年问世并占领了市场,可以说移动计算的新纪元开始了。