Выбор текстового редактора сводится к принятию решения, но большинство дискуссий о плюсах и минусах редакторов обычно перерастают в флейм-войны. Хотя отсутствие поддающихся количественной оценке показателей может привести к нашему несогласию, когнитивные предубеждения во многом способствуют нашему упрямому решению выбрать текстовых редакторов.

С точки зрения производительности программ, текстовые редакторы могут измеряться различными видами времени отклика. Желательна обратная связь в микросекундном масштабе в каждой операции. Но если редактор медленнее на 300 миллисекунд в целом или значительно медленнее в некритичных сценариях, это не обязательно приводит к потере пользователей. В течение многих лет пользователи Vim высмеивали Emacs из-за его медленного запуска, что не мешает пользователям использовать его. Будучи раскритикованным за вялый запуск и видимые задержки между нажатиями клавиш, Atom, новый конкурент в игре редакторов, уже стал популярным текстовым редактором среди разработчиков.

С другой стороны, продуктивность, которую трудно измерить количественно, очень расхваливают фанаты редакторов. Пользователи Emacs утверждают, что они могут делать почти все, включая приготовление кофе с помощью бесконечных плагинов; Пользователи Vim настаивают на том, что редактирование модели обеспечивает наиболее эффективный способ текстовых операций, а VimL расширяет функциональные возможности так же, как и Elisp; Пользователи Atom считают, что внедрение передовых веб-технологий позволит вывести редактирование текста на совершенно новый уровень. Их аргументы звучат обнадеживающе, но не подкреплены фактами и цифрами. Сколько времени редактирование модели Vim экономит на написании кода по сравнению с сочетаниями клавиш в других редакторах? Насколько плагины Emacs ускоряют процесс написания кода? Какие проблемы были или будут решаться веб-технологиями, но не могут быть решены технологиями 70-х или 90-х годов, и насколько эти проблемы связаны с повышением производительности разработки программного обеспечения?

Когда дело доходит до выбора редактора, у нас нет этих цифр, и мы не принимаем решения на их основе. Что мы обычно делаем? Вот более распространенный сценарий: на веб-форуме для разработчиков есть авторитетный гуру по имени Джордж, обладающий навыками и практическим опытом во многих областях программирования. Он писал программы на COBOL для мэйнфреймов, создавал GUI в приложениях Delphi и разрабатывал веб-сайты с помощью Rails. Он использует и любит редактор OmniEdit. Однажды он написал пост «Почему я использую OmniEdit для разработки». Этот пост не только знакомит с модным пользовательским интерфейсом OmniEdit и сложными функциями, но также показывает советы по использованию OmniEdit и тому, как его взломать. Помимо Джорджа, другие гуру, такие как Санджи и Ниджи, также используют OmniEdit. Предположительно, некоторые разработчики используют Emacs или Vim. Однажды Фред, новичок, ничего не смыслящий в программировании, посещает этот форум из-за его широкой репутации. Прочитав множество сообщений о программировании, написанных гуру, он высоко ценит их и решает научиться программировать на этом форуме. Сообщение Джорджа «Почему я использую OmniEdit для разработки» сильно повлияло на новичка, и поэтому он выбирает OmniEdit.

Почему Фред предпочитает OmniEdit другим редакторам? Поскольку Джордж квалифицирован и опытен, а его пост об OmniEdit представляет собой подробный и личный рассказ, его отчеты могут оказать большое влияние на новичка. Фред считает, что редактор, которым пользуются такие опытные разработчики, как Джордж, является наиболее продуктивным и в какой-то степени является показателем эксперта. Он приравнивает использование OmniEdit к высокой производительности и даже опыту.

Видимо, Фред ошибся. Эксперты, использующие OmniEdit, не подразумевают продуктивность на уровне экспертов. На самом деле это две независимые точки, но история Джорджа соединяет их стрелкой причин и следствий. Поэтому Фред выбирает OmniEdit. На самом деле он всего лишь жертва нарративной ошибки. Продолжая свое обучение на этом форуме, Фред еще больше усугубит непонимание отношений между OmniEdit и экспертами, которое объясняется предвзятостью подтверждения. Если спустя годы Фред станет экспертом, он, вероятно, напишет пост или эссе о редакторе, которым пользуется в процессе работы. Другой новичок наткнется на этот пост и, таким образом, пойдет по тому же маршруту. Сюжет этой истории может немного варьироваться. Например, Джордж может переключиться на Vim, а Фред последует за ним, или он перебежит на Emacs, если перестанет равняться на Джорджа. Несмотря на эти различия, основные причины изменений в основном остаются теми же.

Наши когнитивные искажения незаметны, когда мы принимаем решения. Мы не делаем это рационально, как мы думаем. На самом деле нам очень трудно быть рациональными. В своей глубокой и поучительной книге Думай быстро и медленно профессор Даниэль Канеман пишет:

Как и в суждениях, мы наблюдали систематическую предвзятость в наших собственных решениях, интуитивные предпочтения, которые постоянно нарушали правила рационального выбора.

Однако то, что мы враждуем друг с другом из-за текстовых редакторов, может показать тот факт, что не существует редактора, достаточно хорошего, чтобы отличаться от остальных тем, что у каждого редактора есть как привлекательные преимущества, так и терпимые недостатки. В 2005 году большинство производителей мобильных телефонов пытались получить прибыль, выпуская мобильные телефоны различных форм-факторов для удовлетворения потребностей клиентов, тогда как в следующем году неожиданно появился iPhone и доминировал на рынке, и началась, так сказать, новая эра мобильных компьютеров.