IDE или текстовый редактор

Aug 23, 2013 15:24 · 553 words · 3 minute read из жизни

Сегодня хотел бы поговорить по поводу того, что же использовать в работе программисту: IDE или текстовый редактор? Я так и не пришёл к единому мнению что же использовать. Есть крупные IDE, которые создаются под язык программирования:

  • Visual Studio - C++
  • XCode - Objective-C
  • Delphi - pascal (тут немного сложнее, но для общей картины)
  • Eclipse - Java
  • PHPStorm - PHP
  • PyCharm - Python
  • RubyMine - Ruby

Сама идея IDE замечательна: тут и код, и дебаг, и структура модуля и прочие полезные плюшки, но все они далеки от идеала. Прежде всего стоит обратить внимание на скорость работы. Она ужасна везде, даже на топовом железе. Задержки в несколько секунд приводят к тому, что полёт мысли прерван, и приходится прикладывать усилия для возобновления работы. Я не зря упомянул здесь столько продуктов JetBrains. Они фактически построены на IDEA, то есть из неё можно сделать IDE для любого языка. активно я пользуюсь только 2: PHPStorm и PyCharm (да и то первый почему-то перестал запускаться, даже логов нет). И у меня к ним концептуальные претензии:

  • java. Разработчики хотели сделать кроссплатформенный редактор, у них это получилось. (под linux'ом установка совсем не тривиальна) Она одинаково глючит везде :) Закрывается не то окно, фокус уходит с диалогового окна, тормоза при автокомплите… Кстати, подсказки:
  • Автокомплит требует документации. Когда я это узнал, у меня был шок. Возможно, JetBrains так заставляет писать документацию, но по-моему это идиотизм. Во всех нормальных IDE идёт разбор именно кода. Я привык не писать тривиальную документацию, но ради удобства вынужден буду это делать?
  • Плюшки. Возьмём работу с CVS. Из IDE я пользуюсь только 2 вещами: commit/push, pull да лог посмотреть. Чуть что посложнее - я путаюсь и открываю консоль или Tortoise. Почему бы не интегрировать средства ОС в IDE?

Как-то сильно я наехал на IDE, давайте взглянем в синий угол ринга. Там притаились Sublime и vim. Почему же тяжеловес с противоположной стороны их ещё не раздавил? Попробую перечислить преимущества текстовых редакторов (взято с Хабра):

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

Я намерненно удалил те пункты, с которыми не согласен. Из текстовых редакторов я пользуюсь 2: Sublime и vim. Оба они прекрасно настраиваются, расширяются и затачиваются под свои нужды. Хочется также отметить, что как сторонникам IDE, так и сторонникам обычных редакторов следует научиться ими пользоваться на всю катушку. Для этого я советую ряд видеокурсов, к сожалению, на английском: для Sublime Text 2 и для PHPStorm.