Война редакторов

Материал из Викиреальностя
Перейти к: навигация, поиск

Войны редакторов — под этим термином обычно понимается соперничество между пользователями текстовых редакторов emacs и vi. Соперничество стало неотъемлемой частью культуры хакеров и сообщества свободного программного обеспечения.

Войны редакторов обычно происходят между поклонниками двух наиболее популярных текстовых редакторов в Unix-подобных операционных системах: vi и emacs, и проявляются в нескончаемых обсуждениях достоинств и недостатков этих редакторов. Споры происходят, в основном, вокруг современных реализаций этих двух программ, наиболее популярными являются vim и GNU emacs. Большинство пользователей этих программ знакомы в достаточной мере с обоими редакторами для того, чтобы осуществлять хотя бы основные операции редактирования текста, и поэтому считают, что они вправе выносить суждения о том какой редактор «лучше». Оба редактора обладают обширной функциональностью и являются чрезвычайно мощными инструментами. Кривая обучения у обоих редакторов достаточно крутая, так что пользователи вынуждены вкладывать много усилий для изучения используемого редактора. И чем больше усилий вкладывает пользователь в освоение редактора, тем более упрямым он становится при вынесении суждений.

Содержание

[править] Различия между редакторами

  • vi — меньше и быстрее, и (по крайней мере, традиционно) обладает ограниченными возможностями для настройки.
  • Emacs медленнее загружается и требует больше памяти. Однако он чрезвычайно расширяем и включает огромное количество встроенных функций, а также интерпретатор Lisp, используемый для выполнения скриптов.
  • vi традиционно использовался на текстовых консолях, не имея графического интерфейса пользователя (однако Vim обладает поддержкой GUI).
  • Тогда как Emacs, первоначально разработанный для использования из консоли, достаточно быстро обзавёлся графическим интерфейсом пользователя. Современные версии обоих редакторов обеспечивают различные варианты ГИП.

Историческое замечание:

  • Различия в наборе функций и времени загрузки влияет на способ использования редактора: пользователи vi имеют обыкновение запускать и закрывать редактор периодически, и использовать командную строку для сложных задач, тогда как пользователи Emacs обычно остаются в редакторе и используют его для менее сложных задач. Оба редактора на данный момент способны как работать из командной строки, так и обеспечивать поддержкой графический интерфейс пользователя того или иного окружения.

[править] Преимущества Emacs

  • Придерживается философии «Всё под рукой»
  • Отсутствует необходимость в переключении режимов («вставка текста», «перемещение и ввод команд»).
  • Больший набор команд чем в vi.
  • Поддержка не ASCII языков (хотя, vim также их поддерживает).
  • Расширяемый и настраиваемый диалект языка программирования ЛиспEmacs Lisp;
    • Наличие специальных режимов редактирования для большого количества языков программирования, разметки и вёрстки, таких как Bash, C, С++, Python, Java, Лисп, LaTeX, MediaWiki
    • Может эмулировать vi с помощью viper-mode.

[править] Преимущества vi-подобных редакторов

  • Следуют философии «Объединения простых инструментов»
  • Обладают небольшим размером и соответствуют философии UNIX «делай одно, и делай это хорошо». Избегают чрезмерной функциональности.
  • Быстрее Emacs.
  • Работает во всех системах, где реализована стандартная библиотека языка программирования C, включая DOS, Windows, Mac, BeOS, и POSIX совместимые системы.
  • Позволяет пользователям QWERTY клавиатур держать пальцы на среднем ряду клавиш, требуя таким образом меньше движений для редактирования.
  • Имеет широкое распространение в UNIX-подобных ОС, которые поставляются с vi или с одним из его вариантов (это обусловлено, в частности, требованием стандарта POSIX, в котором существует пункт, требующий обязательного наличия vi-совместимой версии редактора для соответствия ОС стандарту).

Историческая справка:

  • Ранее Emacs при запуске показывал удобный экран, объясняющий как выйти из программы. В то же время, vi не обеспечивал такой подсказки, заставляя многих пользователей, не знавших, как покинуть программу, просто отключать свои терминалы, что, зачастую, порождало немало шуток и пародий на тему процесса выхода из редактора не знакомыми с его системой команд пользователями.

[править] Юмор

Часто, в дискуссиях кто-нибудь напоминает, что ed является стандартным текстовым редактором.

В 1984 во время интервью, создатель vi — Бил Джой, заявил, что он сам использовал ed, что дало возможность сторонникам Emacs заявить, что «даже Бил Джой больше не использует vi». [1]

Сторонники vi, намекая на чрезмерную функциональность Emacs, часто описывают его как операционную систему, в которой нет хорошего редактора.

[править] Текущее состояние

В прошлом многие маленькие редакторы созданные по образу Emacs или на его основе процветали. Это было связанно с важностью экономии оперативной памяти. В наши дни, с современными огромными объёмами памяти, многие vi-подобные редакторы выросли в объёме. Современные версии Vim, могут содержать больше расширений и работать медленнее, чем старые версии Emacs. Более того, и Emacs и vi являются относительно легковесными средствами в сравнении с огромными IDE, такими как Eclipse, Visual Studio, NetBeans, вызывающими презрение как у пользователей Emacs, так и у пользователей vi.

O'Reilly, компания, продающая учебную литературу как по Emacs, так и по Vim, заявила, что литература по Vim продаётся вдвое лучше, чем литература по Emacs. [2] Однако было замечено, что многие продвинутые программисты используют Emacs и его различные ответвления, включая Линуса Торвальдса использующего MicroEMACS.[3]

Шесть из девяти выдающихся программистов упомянули Emacs среди своих любимых инструментов.[3]

Помимо Emacs и vi в войнах редакторов принимают участие сторонники других редакторов, таких как pico и его свободного клона nano, JEdit и других, хотя их не так много как сторонников Emacs и vi.

[править] См. также

[править] Примечания

Война редакторов относится к теме «Программное обеспечение»   ±