To IDE or not to IDE?

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

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

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

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

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

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

Ссылки:

Оставить комментарий

Архив записей в блогах:
Вот это правильно сделали в Москве, теперь «Самса халяль» работать не будет. Суд ограничил работу кафе ещё в начале года, но закрываться хозяева и не думали. Проблемы у кафе «Самса халяль» на Таганке были давно, но поведение руководства во время периода самоизоляции стало последней ...
© Eric Bénier-Bürckel Чтобы расти, вам нужно научиться предавать чужие ожидания /Хаяо Миядзаки/ © W. Eugene Smith Философия распутывает узлы нашего мышления, поэтому её результаты должны быть простыми, но её работа столь же сложна, как и узлы, которые она распутывает /Людвиг ...
Нашла в креветках (которые обычного среднего, не королевского размера, и оно тоже размером с обычную креветку). Фото под катом. ...
Нет, не так я себе представляла встречу мая на даче! Кажется, в прошлом году всё же теплее было. И трава зеленее, точно-точно! А два года назад мы в последний апрельский день купили в нашем питомнике и посадили под окном два рододендрона. ...
ЦСКА-Атлант В КХЛ: 9 матчей; +3 -6; шайбы 20-21 В текущем сезоне: 14.11.2012, 2:0 (А.Радулов, Зубов) Последний очный матч в Москве: 22.12.2011, 2:4 (Буравчиков, Паршин – Уппер, Жердев (2), Левандовский) Начало: 17:00 мск Трансляции: КХЛ ТВ, Viasat, MSG, Eurosport Asia, video.khl.ru Цена игры: ...