Никита Прокопов (tonsky) wrote,
Никита Прокопов
tonsky

Category:

To IDE or not to IDE?

В последнее время слез с Eclipse IDE в пользу обычного Textmate (не для Джавы, а для Фантома, но масштаб похож).

Удивительно, что я при этом ничего не потерял, а даже приобрел. Началось все с банальности — в нашем конторском плагине для Фантома нельзя было толком настроить тёмную тему, а в Текстмейте — можно. Что я и сделал. Через какое-то время я понял, что ждать, пока запустится Эклипс, лень. Еще через какое-то время стало понятно, что Эклипсу мешает эта его навороченная сложность — для каждой задачи в нем есть какой-то свой интерфейс, и получается, что если ты Эклипсом пользуешься, тебе надо постоянно взаимодействовать с кучей окошек, команд, раскрывающихся списков, всегда хоть и единообразных, но разных. В Текстмейте же, поскольку это лишь текстовый редактор, универсальный интерфейс ко всему — текстовые файлы. Автоматизация любого сорта — это скрипты. Однообразно, легко для мозга, способствует выработке привычки. Опять же, в силу универсальности, Текстмейт открывает любой проект на любом языке молча и сразу. В Эклипсе нужно продраться через несколько окон и принять пару десятков решений.

Есть еще странный, контринтуитивный эффект — ИДЕ по определению знает о коде в разы больше, чем текстовый редактор, даже в который можно забить грамматику языка. При переходе от ИДЕ к текстовому редактору мы заведомо теряем массу удобных инструментов, но что мы приобретаем взамен? Интуитивно я чувствовал, что что-то важное, но сформулировать смог только после статьи The Dark Side of Usability. В ней рассказывается о нескольких экспериментах, где сравнивалось решение задач людьми с внешней помощью (подсказки, доп. инструменты) и без нее. Время решения получалось примерно одинаковым, но последние делали меньше ненужных телодвижений, больше погружались в задачу и, должно быть, больше вынесли для себя из эксперимента.

Если подумать, то с ИДЕ получается то же самое. Подсказки, рефакторинги, подсветки и тому подобные помощники, а достигнутый результат больше радует без всего этого. Грубо, нет автодополнения — и начинаешь думать, как практичнее называть переменные, название DefaultComponentManagerManager уже не кажется таким удачным (случай реальный). Нет Go to symbol — и начинаешь помнить, где что находится и раскладывать классы осмысленно. Стоит написать билд-скрипт — и тут же пропадает желание городить восьмиуровневую иерархию папок. Нет кодогенерации — и как-то сразу разлюбливаешь плодить интерфейсы и геттеры-сеттеры попусту. Наконец, без поддержки развесистых, пол-дня-настраивал фреймворков начинаешь любить простые, сразу работающие вещи.

Ощущения — как будто облетает шелуха, лишний мусор и шум, и остается только то, что по делу. В этом смысле то, что на Джаве (или каком-то другом языке) нельзя работать без ИДЕ, это не плюс, а признак глубокой болезни. Нормальная технология не требует ничего, кроме текстового редактора, шелла и браузера для справки.

P.S. Я написал про свой частный опыт, но думаю, что он вполне обобщается на любую ИДЕ и любой текстовый редактор. Такие дела.

Ссылки:
Tags: девелопмент, инструментарий, интерфейсы, легенды острова Ява, формула успеха
Subscribe
  • 182 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
  • 182 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

Comments for this post were locked by the author