Статьи

Какие IDE используют Rubyists?

rubymine_cucumber

В предыдущей статье я взял интервью у нескольких известных Rubyists об их любимом редакторе . Некоторые из читателей были разочарованы тем, что статья была сосредоточена только на текстовых редакторах, а не на IDE. Поэтому я решил взять интервью у Rubyists об их любимой среде IDE и сообщить о своих выводах (мы ненавидим разочаровывать читателей в SitePoint…).

Прежде чем перейти к сути статьи, я быстро расскажу о различиях между текстовыми редакторами и IDE , поскольку обнаружил, что между этими двумя типами инструментов существует некоторая путаница.

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

В моей статье о редакторах Ruby многие комментаторы и твитеры спрашивали о RubyMine. Я ответил, что RubyMine — это IDE, а не текстовый редактор. Но потом я задумался, а есть ли разница между текстовым редактором и IDE? Или они могут просто использоваться взаимозаменяемо?

Основанный на Руководстве для начинающих по использованию IDE в сравнении с текстовым редактором , текстовый редактор — это инструмент, который создает и редактирует файлы, содержащие только простой текст. Это простой способ написания кода. Как только код написан с использованием текстового редактора, вы можете скомпилировать и запустить этот код с помощью инструмента командной строки.

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

Однако IDE (интегрированная среда разработки) — это более мощный инструмент, который предоставляет множество функций, включая функции текстового редактора.

Другие функции, которые предоставляют IDE:

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

По правде говоря, текстовый редактор может быть оснащен практически любой функцией, которую предлагает IDE. Разница заключается в усилиях, чтобы получить функции. Текстовые редакторы (такие как Vim, Emacs) требуют подключаемых модулей или других модификаций для получения определенных IDE-подобных функций. Навыки, необходимые для установки этих функций, часто бывают продвинутыми. Среда IDE обычно поставляется с такими встроенными функциями, как подсветка синтаксиса и интеграция контроля версий.

В IDE или не в IDE?

Я говорил с 100 рубистами. Некоторые прямо ответили, что не используют IDE, в то время как другие упоминали о том, что мы называем текстовыми редакторами. Для тех, кто ответил с предпочтением текстового редактора, я включил это в опцию No IDE .

Вот результаты интервью:

  1. Нет IDE (Rubyists не одобряет IDE)
  2. RubyMine
  3. Аптана Студио
  4. IntelliJ IDEA
  5. Кусо IDE

Ни один IDE не был, безусловно, самым предпочтительным выбором, упомянутым 74% опрошенных. Графики ниже рассказывают историю:

ColumnChart

круговая диаграмма

Как вы можете догадаться, я разговаривал с двумя наиболее известными Рубиистами: Юкихиро Матусмото (Matz) и Дэвидом Хейнемайером Ханссоном (DHH). Если вы не знаете, Matz является создателем языка Ruby, а DHH отвечает за Ruby on Rails. Мац предпочитает Emacs, в то время как DHH использует оригинальную версию TextMate. Мне очень интересно, что в двух столпах Ruby не используются IDE, что, безусловно, следует учитывать при выборе набора инструментов.

В статье редакторов Ruby у меня была возможность немного поговорить о Vim, предпочтительном редакторе для Rubyists, основанном на наборе образцов, с которым я брал интервью. В то время как здесь, я нахожу себя немного смущенным, когда дело доходит до этой части статьи, так как предпочтительной IDE для Rubyists является No IDE !

RubyMine

Хотя ни одна из IDE , безусловно, не была выбрана для опроса Rubyists, я не могу закончить эту статью, не поговорив об особенностях наиболее выбранной Ruby IDE, по крайней мере, для примера, опрошенного в этой статье.

Из приведенных выше графиков видно, что RubyMine является предпочтительной средой разработки для Rubyists. Но что такого особенного в RubyMine?

Давайте спросим Наташу, которая использовала TextMate и Sublime Text в качестве редакторов, прежде чем начать использовать RubyMine. Наташа заявляет, что пути назад нет, и упоминает некоторые особенности, которые ей нравятся в RubyMine.

Одна из этих функций — нажмите и следуйте . Здесь, когда вы нажимаете на функцию, RubyMine приведет вас к вызываемой функции. Эта функция очень полезна, если у вас есть несколько функций с одинаковыми именами, которые находятся в разных файлах или папках.

Еще одна функция, которую предоставляет RubyMine, — Git annotate . Эта функция хороша при работе над командными проектами. Это позволяет вам видеть, кто был последним человеком в команде, например, чтобы написать или изменить функцию. Это очень легко связаться с этим человеком, если у вас есть какие-либо вопросы о том, почему такие изменения были сделаны.

Еще одна особенность Git — это сравнение Git . Эта замечательная функция позволяет сравнивать текущий файл с тем же файлом в другой ветке. Если вы хотите, вы также можете сделать сравнение с предыдущей версией этого файла в той же ветке. Это может быть очень, очень полезно.

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

RubyMine также предлагает возможность разделения представлений , так что вы можете разделить редактор на независимые представления, сохраняя при этом набор вкладок, открытых в каждом представлении. Например, вы можете отобразить код и его тест параллельно.

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

Вы удивлены тем, что больше Rubyists не используют IDE? Прочитав эту статью, вы готовы попробовать ее самостоятельно? Как вы думаете, почему большинство Rubyists предпочитают работать с редакторами, а не с IDE? Ждем ваших мыслей по этому поводу.